我有兩個表,一個稱爲用戶,另一個稱爲概要文件。每個表都有一個名爲user_id的列。我想要做的是,當我將一個新用戶插入users表時,我想自動將users表中的新user_id複製到profiles表中。我不想使用UPDATE子句,因爲每次添加新用戶時都必須調用該子句。我認爲關係可以實現我想要做的事情,所以我從配置文件中創建user_id引用用戶的user_id,但它仍然不會自動更新。我該怎麼辦?如果他們不自動更新您的列,首先關係的關鍵點是什麼?如何在mysql中創建另一個列鏡像
0
A
回答
1
這可能是一個設計錯誤。如果這兩個表中的行總是存在相同的ID,則它們應該可能是單個表。
您所創建的外鍵只能保證每一個存在於profiles
行必須具有相同的ID作爲行users
。它不會導致創建這些行 - 這只是意味着如果您嘗試創建一個ID不匹配的行,數據庫將引發錯誤。
這一切都這樣說,它可以創建一個觸發器,完成你描述:
CREATE TRIGGER user_insert_creates_profile
AFTER INSERT ON users
FOR EACH ROW
INSERT INTO profile (user_id) VALUES (NEW.user_id);
但它可能會更好重新考慮你的設計,還是做插入您的應用程序。觸發器是最好的避免。
+0
好的,謝謝!我原本打算將它製作成單個表格,但是那樣會有很多列會使得在cmd中難以閱讀。我想這不是一個大問題。 –
相關問題
- 1. 創建另一個鏡像的ImageIcon
- 2. 如何讓一個JComponent鏡像成爲另一個鏡像?
- 3. 如何創建一個精確的JPanel鏡像在另一個JPanel
- 4. 如何在構建時創建已填充的MySQL Docker鏡像
- 5. 創建一個鏡像佈局
- 6. 用php和mysql創建docker鏡像
- 7. 如何創建另一個列表中的一個列表?
- 8. 創建一個源自MySQL中另一個表的動態列
- 9. 如何創建另一個MySQL自動增量列?
- 10. 如何創建一個mysql「sha-256」列?
- 11. 如何鎖定表並在mysql中創建另一個表
- 12. 如何創建一個類似RAID1(鏡像)的程序?
- 13. 如何創建一個配置了apache的centos的Docker鏡像?
- 14. 如何在Android中創建textview的鏡像圖像?
- 15. 幫助創建MySQL的一個公式,在另一個表中創建另一列
- 16. 在MySQL中創建一個列表
- 17. 在MYSQL的列中創建一個表
- 18. 如何從http鏡像創建System.Drawing.Image
- 19. 如何創建CALayer的鏡像轉換
- 20. 如何創建實例的鏡像?
- 21. 如何在同一個表中創建一列的副本mysql
- 22. 如何在MySQL表中創建一個唯一的列?
- 23. 如何創建一個圖像陣列
- 24. 如何創建一個像在Symfony2中
- 25. 在Silverlight 3中創建鏡像控件
- 26. 在PostgreSQL中創建表泊塢鏡像
- 27. haskell如何從另一個列表創建一個新列表?
- 28. 如何從另一個列表創建一個嵌套列表?
- 29. 在PostgreSQL中將一個數據庫鏡像到另一個
- 30. MySQL - 爲在另一個表中創建的每個新行創建一個表
您可以在'users'表上使用'AFTER INSERT'觸發器自動插入'profiles'表。 – Barmar
你會在這種情況下觸發INSERT其他相應的行。 – Randy
表之間的關係通常不是一對一的關係,所以自動更新並不合適。另外,如果它自動插入,它將如何知道如何放入其他列? – Barmar