mysql SET FOREIGN_KEY_CHECKS = 0无法从命令行或shell脚本运行

时间:2014-06-07 13:23:19

标签: mysql shell

设置foreign_key_checks = 0从mysql提示符运行良好,我能够删除具有外键约束的记录。

但是从shell开始,如果我运行相同的命令没有显示错误,但是当我转到mysql并运行delete命令时,它会显示外键错误。 $(echo“SET FOREIGN_KEY_CHECKS = 0”| mysql --uuser --ppassword db) 我必须从shell脚本运行它。 任何帮助都会很棒。

谢谢。

1 个答案:

答案 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`