我有一个文件,里面充满了如下语句:
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'));'
1条答案
按热度按时间ulmd4ohb1#
必须使用mysql source命令:
当你使用
\!
,而是调用shell命令。贝壳source
命令需要shell脚本,而不是sql文件。