RubyMySQL-load.sql文件并执行
我正在尝试将ruby脚本中的.sql文件加载到字符串中,然后执行它 出于某种原因,我得到了一个语法错误,但是如果我直接将语句复制并粘贴到mysql中,它就可以正常工作 我是这样做的:RubyMySQL-load.sql文件并执行,mysql,ruby,Mysql,Ruby,我正在尝试将ruby脚本中的.sql文件加载到字符串中,然后执行它 出于某种原因,我得到了一个语法错误,但是如果我直接将语句复制并粘贴到mysql中,它就可以正常工作 我是这样做的: text = File.read(src_sql_file) new_text = text.DOINGSOMEGSUBSTUFF @dbh.select_db(dbname) sql = @dbh.prepare(new_text) sql.execute() 我也试过: sql = @dbh.prepare
text = File.read(src_sql_file)
new_text = text.DOINGSOMEGSUBSTUFF
@dbh.select_db(dbname)
sql = @dbh.prepare(new_text)
sql.execute()
我也试过:
sql = @dbh.prepare(new_text) do |sth|
sth.execute()
end
我总是得到:
Error message: 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
'CREATE TABLE `the_logs` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PR' at line 5
其中,用于此的sql如下所示:
CREATE TABLE `the_logs` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`timestamp` INT( 11 ) NOT NULL ,
...
知道我是不是用prepare做错了吗?我也试过了。。也不管用
非常感谢您的帮助。
T我希望,无论您使用哪个库与MySQL对话,都希望一次处理一条语句,并且一次传递多条语句
尝试以分号分隔字符串,并分别执行每个语句 如果不看完整的陈述,不知道Substuff在做什么,就很难判断出哪里出了问题。首先,我会尝试一些不太可能出现语法错误的mysql语句来缩小它的范围关闭语句吗?无法查看整个SQL语句,因此不清楚它可能是什么。一些GUI工具(假设您使用的是MySQL查询浏览器或其他GUI工具)通常让您不必使用
代码>在语句末尾。谢谢。我遗漏了DOSOMESTUFF,因为没有它也无法工作。