2014-01-18 15 views
0

我有2刪除SQL查詢我想要一個。只需合併2刪除查詢,使其成爲一個

$sql1= DELETE FROM user WHERE userid={$id} 

另一個是

$sql = Delete FROM user_meta where userid = {$id} 

有什麼建議?我想簡化它。

+0

看吧:http://stackoverflow.com/questions/1233451/delete-from-two-tables -in-one-query – qqilihq

+1

您使用的是哪個數據庫? –

+0

php中的MySQL數據庫 – user3201500

回答

0

刪除來自不同表的事「的同時」的方式,一般是包他們在交易中。喜歡的東西:

begin transaction thedeletes 
    DELETE FROM user WHERE userid={$id}; 
    DELETE FROM user_meta WHERE userid = {$id} 
commit transaction thedeletes; 

在MySQL實際上你可以把這些在同一個查詢:

delete u, um 
    from user u join 
     user_meta um 
     on u.userid={$id} and um.userid = {$id}; 
+0

你能否更新查詢? 。我沒有meta_key它的正義userid。 但我明白了。非常感謝 。 – user3201500

+0

@ user3201500。 。 。固定。 –

+0

謝謝!有效!我只是想知道爲什麼你只使用JOIN而不是INNER JOIN? – user3201500

0

你不能在DELETE語句2個表中刪除,但你在發出去1 2點聲明:

$sql = "DELETE FROM user WHERE userid={$id}; 
DELETE FROM user_meta WHERE meta_key = {$id};" 
+0

是否有任何聯接在btween中起作用? – user3201500