繁体   English   中英

如何在其他相关表中更新PRIMARY KEY / FOREIGN KEY?

[英]How to update the PRIMARY KEY/FOREIGN KEY in other related tables?

墙壁

  • wall_id(P)
  • wall_name
  • wall_views
  • wall_downloads
  • wall_thumbnail_path

4, 'wall4', '125', '574', '../.../thumbnail_wall4.jpg'

类型

  • type_id
  • type_name

'1', 'Desktop' )( '2', 'Phone' )( '3', 'Tablet'

wall_types

  • wall_id(P)[F)
  • type_id(P)(F)

4, 1

上面是我拥有的表,我要做的是自动从walls表中获取wall_id = 4并将其存储在wall_types表中,与types表中的type_id相同。 如何才能做到这一点? 实现此目的的代码是什么(PHP代码)或SQL语句? 谢谢!

注意:

  • wall_idwall_types引用wall_idwalls的表。

  • type_idtypes引用type_idtypes表。

下面的查询在wall_types表中插入一个新关系,其中“ 1”来自用户输入(用户选择“桌面”):

INSERT INTO wall_types (wall_id, type_id) VALUES (5,1);

如果您要在插入新的“壁”行后立即执行此操作,而该行的ID尚未确定(当然),则可以使用LAST_INSERT_ID(),该行将包含最后插入的ID,因此您需要正确执行此查询在“墙”插入查询之后:

INSERT INTO wall_types (wall_id, type_id) VALUES (LAST_INSERT_ID(),1);

如果要“自动”执行此操作,则可以使用触发器来更新冲突。 另一种方法是删除wall_types中的关系,然后使用更新后的值重新创建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM