[請益] 資料庫 不一致

看板PHP作者 (比直覺更可靠)時間15年前 (2010/12/09 10:19), 編輯推噓2(208)
留言10則, 5人參與, 最新討論串1/1
我現在有兩個table 我會利用他們的id判斷來抓資料 但是因為table 1某些資料delete 另一個table 2他好像不會自動把對應的id也delete 現在造成用id比對時都會抓錯資料 請問怎麼解決呢?! 煩請各位先進幫忙 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.16.201

12/09 10:30, , 1F
先從 table1 select 出 id, 然後對 table2 做 not in
12/09 10:30, 1F

12/09 10:30, , 2F
delete。不過最終解決方法還是要從程式上做修改
12/09 10:30, 2F

12/09 10:31, , 3F
刪除table1時同時也刪除table2對應的值
12/09 10:31, 3F

12/09 10:33, , 4F
或是資料庫支援的話就建立個trigger
12/09 10:33, 4F

12/09 10:34, , 5F
不過理論上,「應該」不會抓錯資料…只會抓不到資料而已
12/09 10:34, 5F

12/09 11:07, , 6F
你應該是用LEFT JOIN 才會抓錯資料吧 如果key對的話
12/09 11:07, 6F

12/09 11:07, , 7F
理論上 要不是t2的fk欄位抓錯 就是t1砍錯資料
12/09 11:07, 7F

12/09 11:08, , 8F
因為沒有對應下 t1資料被砍 有fk也不會影響到抓取
12/09 11:08, 8F

12/13 03:24, , 9F
foreign key constraint
12/13 03:24, 9F

12/14 22:12, , 10F
不意外 如果沒有做references 就要用where去鍵結
12/14 22:12, 10F
文章代碼(AID): #1D03p2ps (PHP)
文章代碼(AID): #1D03p2ps (PHP)