我有一个带有某些参数的sql文件,这些参数需要作为泛型参数。
下面是C:\sql\main.sql中的代码库:
SET @NAME = 'XYZ'
source C:/abc.sql
我需要用abc.sql file.Which中的XYZ替换所有的名称,它基本上包含一组插入语句。
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:\abc.sql中调用C:\sql\main.sql文件,然后执行C:\sql\main.sql。有人能帮我吗?
发布于 2016-04-13 16:31:22
我刚刚对此进行了测试,我认为脚本(main.sql)的唯一问题是语句没有以分号结尾。
尝试在行尾添加分号:
SET @NAME = 'XYZ';当第二个文件(abc.sql)在第二个文件中执行时,我能够验证用户定义的变量abc.sql是否在作用域内:
SELECT @NAME;
# Output:
XYZhttps://stackoverflow.com/questions/36604035
复制相似问题