2016-11-01 4 views
0

こんにちは、私は削除した後、トリガーを作成し、エラーが依然として存在している複数のテーブルからの削除:不明な列を「OLD.merchant_id」に「where句」 MySQLのトリガーは、後に

DELETE FROM on_size WHERE merchant_id=OLD.merchant_id; 
DELETE FROM on_category WHERE merchant_id=OLD.merchant_id; 
DELETE FROM on_item WHERE merchant_id=OLD.merchant_id; 
DELETE FROM on_merchant_user WHERE merchant_id=OLD.merchant_id; 
DELETE FROM on_offers WHERE merchant_id=OLD.merchant_id; 
DELETE FROM on_rating WHERE merchant_id=OLD.merchant_id; 
DELETE FROM on_review WHERE merchant_id=OLD.merchant_id; 
DELETE FROM on_voucher WHERE merchant_id=OLD.merchant_id; 
DELETE FROM on_voucher_new WHERE merchant_id=OLD.merchant_id; 
DELETE ord,ord_da,ord_det,ord_his,ord_sms 
FROM on_order ord 
JOIN on_order_delivery_address ord_da ON ord.order_id=ord_da.order_id 
JOIN on_order_details ord_det ON ord.order_id=ord_det.order_id 
JOIN on_order_history ord_his ON ord.order_id=ord_his.order_id 
JOIN on_order_sms ord_sms ON ord.order_id=ord_sms.order_id 
WHERE ord.merchant_id=OLD.merchant_id; 

は、私がトリガーに複数のテーブルを削除することはできますか? merchant_idでon_orderのみを識別できます。他のテーブルではこれがありません。

ありがとうございます。

+0

OLD(OR)という名前のテーブルにはエイリアスはありませんOLDの名前にテーブルがありません – Assen

+0

私は特別な演算子を使用してみてくださいNEW、OLD返すかもしれないOLD.merchant_id =>削除されました。間違いですか?削除後にOLDを使用することはできますか? – Maximi

+0

あなたは完全なトリガーコードを投稿してください。 – Assen

答えて

0

BEGINとENDがありません。 ステートメントがすべてOKの後。

+0

これは本当にコメントになるはずです – nomistic