簡體   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