/ / mysql SET FOREIGN_KEY_CHECKS = 0 कमांड लाइन या शेल स्क्रिप्ट से काम नहीं कर रहा है - mysql, शेल

mysql SET FOREIGN_KEY_CHECKS = 0 कमांड लाइन या शैल स्क्रिप्ट से काम नहीं कर रहा है - mysql, shell

सेट करें विदेशी_की_चेक = 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`