设置foreign_key_checks = 0从mysql提示符运行良好,我能够删除具有外键约束的记录。
但是从shell开始,如果我运行相同的命令没有显示错误,但是当我转到mysql并运行delete命令时,它会显示外键错误。 $(echo“SET FOREIGN_KEY_CHECKS = 0”| mysql --uuser --ppassword db) 我必须从shell脚本运行它。 任何帮助都会很棒。
谢谢。
答案 0 :(得分:0)
如果从脚本DELETE
文件运行.sql
命令,则可以尝试从shell /命令行运行以下命令
{echo "SET FOREIGN_KEY_CHECKS=0;" ; cat delete_query.sql ; } | mysql
您可以使用
在shell脚本中运行此命令RESULT=`mysql -u username -p password -D dbname
-e "SET FOREIGN_KEY_CHECKS=0; DELETE FROM mytable WHERE some_condition;"`
(OR)使用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`