सेट करें विदेशी_की_चेक = 0 mysql प्रॉम्प्ट से अच्छी तरह से काम कर रहा है और मैं उन रिकॉर्ड्स को हटाने में सक्षम था जिनमें विदेशी कुंजी बाधाएं हैं।
लेकिन शेल से अगर मैं एक ही कमांड चलाता हूं कोई त्रुटि नहीं हैदिखा रहा है, लेकिन जब मैं mysql पर जाता हूं और डिलीट कमांड चलाता हूं तो यह विदेशी कुंजी त्रुटि दिखाता है। $ (इको "SET FOREIGN_KEY_CHECKS = 0" | mysql --uuser --ppassword db) मुझे इसे शेल स्क्रिप्ट से चलाना है। कोई भी मदद बहुत अच्छी रहेगी।
धन्यवाद।
उत्तर:
जवाब के लिए 0 № 1अगर आप दौड़ रहे हैं DELETE
स्क्रिप्ट से कमांड .sql
फ़ाइल तब आप शेल / कमांड लाइन से नीचे कमांड चलाने की कोशिश कर सकते हैं
{echo "SET FOREIGN_KEY_CHECKS=0;" ; cat delete_query.sql ; } | mysql
आप इस कमांड को शेल स्क्रिप्ट में उपयोग करके चला सकते हैं
RESULT=`mysql -u username -p password -D dbname
-e "SET FOREIGN_KEY_CHECKS=0; DELETE FROM mytable WHERE some_condition;"`
(या) a का उपयोग कर HERETAG
पसंद
RESULT=`/usr/bin/mysql -u username -p password<<SQL
use DB_Name
SET FOREIGN_KEY_CHECKS=0;
DELETE FROM mytable WHERE some_condition;
quit
SQL`