2010-08-04 12 views
6

मैंmysql में शामिल होने पर हटाना चाहते हैं?

select * from sent_txts s 
LEFT JOIN received_txts r ON s.msg_link_id = r.id 
WHERE r.action_id = 6; 

शीर्ष चुनिंदा मिलान पंक्तियाँ, उपयोग कर सकते हैं

मैं दोनों पक्षों पर मिलान पंक्तियों का हटाया जाना एक प्रश्न कैसे लिख सकता है?

कुछ

तरह
delete sent_txts s 
LEFT JOIN received_txts r ON s.msg_link_id = r.id 
WHERE r.action_id = 6; 

उत्तर

5

अस्वीकरण: मैं एक mysql डेटाबेस पल में परीक्षण करने के लिए करने के लिए पहुँच नहीं है, लेकिन मुझे लगता है कि आप का उपयोग कर सकते हैं:

delete s, r from send_txts s left join received_txts r on s.msg_link_id = r.id where r.action_id = 6; 

mysql के देखें delete अधिक के लिए दस्तावेज़ जानकारी। एक बेहतर तरीका भेजा received_txts से एक विदेशी कुंजी बाधा डाल दिया, और हटाना कैस्केड हो सकता है।

3

व्यक्तिगत तौर पर मैं का उपयोग खंड पसंद करते हैं, लेकिन पिछले जवाब समान रूप से मान्य है। मैं दूसरा एक विदेशी कुंजी बाधा का उपयोग करते हुए देखने के लिए सुझाव, यह इस को पूरा करने का एक कहीं अधिक कुशल तरीका है।

DELETE FROM s, r USING sent_txts s LEFT JOIN received_txts r ON s.msg_link_id = r.id WHERE r.action_id = 6; 
संबंधित मुद्दे