试图从mysql命令行获取文件时收到语法错误

fkvaft9z  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(273)

我有一个文件,里面充满了如下语句:

update table set column1=NULL where column2 in (select id from users where user_id in ('user1','user2'));

如您所见,这是正确的语法。当我在mysql命令行上手动运行这个命令时,它可以正常工作。
然而,当我试图源文件我得到语法错误。以前有人见过这个问题吗?我在寻找解决办法。。。

mysql> \! source /tmp/update_users.sql
/tmp/update_users.sql: line 2: syntax error near unexpected token `('
/tmp/update_users.sql: line 2: `(select id from users where user_id in ('user1','user2'));'
ulmd4ohb

ulmd4ohb1#

必须使用mysql source命令:

mysql> source /tmp/update_users.sql

当你使用 \! ,而是调用shell命令。贝壳 source 命令需要shell脚本,而不是sql文件。

相关问题