2014-12-06 78 views
0

我有兩個表,我已經在我的第一個表的id列與我的第二個表的user_id列之間使用設計器的關係。在哪裏以及如何添加代碼或執行某些操作,以便在刪除父(id)時,與刪除的id相對應的user_id值也將被刪除?我試着刪除一個註冊的ID,但子表中的相應行沒有被刪除。如何使外鍵更新基於父

我已經做了一些搜索,但我仍然很困惑。

謝謝。

注意:我正在試驗MySQL和PHP,這是我正在創建的一個小博客。

回答

0
  1. 設置ID從第一臺作爲主鍵

    CREATE TABLE tbl_first(ID INT PRIMARY KEY AUTO_INCREMENT,名稱VARCHAR(20))

  2. 創建你的第二個表作爲tbl_second

    CREATE TABLE tbl_second(id INT PRIMARY KEY AUTO_INCREMENT,fk_id int)

  3. 添加約束這樣的:

    ALTER TABLE tbl_second

    附加約束fk_first

    外鍵tbl_second(fk_id)

    引用tbl_first上刪除級聯(ID)

似乎SQL Server和MySQL有點不同,但它應該工作,我測試它在MySQL的

+0

想要插入tbl_second時,您應該從tbl_first中的「id」值中選擇tbl_first中的某一行,如果tbl_second中有一個子項,它也會刪除, – Ashkan 2014-12-06 20:46:33

+0

謝謝您在tbl_first 和 中選擇值所有的幫助! :)對不起,我花了一段時間回到你身邊。 – TheActualKid 2014-12-15 21:26:49

+0

np,劑量它的工作? – Ashkan 2014-12-23 06:17:44