我有一个带有某些参数的sql文件,我需要将其作为通用参数。
以下是C:\ sql \ main.sql中的代码库:
SET @NAME = 'XYZ'
source C:/abc.sql
我需要将所有出现的NAME替换为abc.sql文件中的XYZ。它基本上包含一组insert语句。我运行了以下命令:
mysql -u myusername -p DB < C:\sql\main.sql
但是在执行它之后抛出错误说:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SOURCE C:/abc' at line 2
我需要做的就是在C:\ sql \ main.sql中调用sql文件C:\ abc.sql,然后执行C:\ sql \ main.sql。任何人都可以帮我吗?
答案 0 :(得分:2)
我刚刚对此进行了测试,我认为您的脚本(main.sql
)的唯一问题是语句不以分号结尾。
尝试在行尾添加分号:
SET @NAME = 'XYZ';
当第二个文件(@NAME
)在第二个文件中执行以下操作时,我能够验证用户定义的变量abc.sql
是否在范围内:
SELECT @NAME;
# Output:
XYZ