जब आप लॉक टेबल का उपयोग करते हैं, तो आपको अपनी क्वेरी में सभी तालिकाओं को लॉक करने की आवश्यकता होती है। जब आप एक सबक्वेरी का उपयोग करते हैं तो यह एक टेबल बनाता है। और आप इसे लॉक नहीं कर रहे हैं। इस वजह से आपको त्रुटि हो रही है।
संदर्भ:http://dev.mysql.com/doc /refman/5.0/hi/lock-tables.html
आंतरिक तालिका को उपनाम दें
परीक्षण किया गया नमूना:
lock tables products as p1 write, products as p2 write ;
select product_id from products as p1
where product_id not in (
select product_id from products p2 where product_id in (1,2)
)
और शायद आपको इसकी आवश्यकता है:
lock tables radcheck as r1 write, radcheck as r2 write ;
SELECT * FROM radcheck r1 WHERE id NOT IN (
SELECT id FROM (
SELECT id FROM radcheck r2 WHERE attribute = 'Password' GROUP BY UserName HAVING COUNT(*) > 1) AS c
);