Re: [請益] 請問想要進行特殊的delete

看板PHP作者 (夏天到了,冷不起來了說)時間14年前 (2009/12/16 10:27), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《ROCKIT (ROLL)》之銘言: : 請問一下 : 假如說今天有一個$Arr是一個陣列 : 陣列的大小不一定 : 有沒有辦法簡單的做到 : 將資料庫裡面的某個欄位假設說是sid : 去檢查不在這個陣列內的值就將他從資料庫移除

12/16 04:47,
Wait,所以你到底有沒有用到資料庫? @@
12/16 04:47

12/16 04:48,
喔等等我懂了 Orz
12/16 04:48

12/16 04:48,
你所用的資料庫系統是?
12/16 04:48

12/16 06:59,
用not in 不就好了
12/16 06:59

12/16 08:23,
用迴圈產生SQL的DELETE的字串,來刪除就可以了。
12/16 08:23

12/16 09:17,
DELETE FROM table WHERE NOT IN (...,...,...,...,...)
12/16 09:17
用mosluce板友的方法時要小心如果$arr是空陣列時 會出現把整個table都清光的情形 另一種比較麻煩一點的方法 如果兩邊資料量都不大的話 可以先把資料庫的資料撈成陣列 再用array_diff這一類的函數做差異比對 用比對的結果跑迴圈去刪 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.218.220.74

12/17 12:11, , 1F
array_diff 感覺速度比較慢XD
12/17 12:11, 1F
文章代碼(AID): #1BA4MkXH (PHP)
討論串 (同標題文章)
文章代碼(AID): #1BA4MkXH (PHP)