【发布时间】:2011-08-30 18:28:21
【问题描述】:
我很困惑。从我在网上看到的参考资料来看,执行文本文件脚本的命令是这样的:
mysql> --user=root --password=admin --database=zero <query.sql
但是,当我运行它时,命令行显示 mySQL 语法有错误(错误 1064)。 我将 query.sql 脚本文件保存在 C:program files...\MYSQL\MYSQL Server5.1..(包含 mySQL 命令行终端 .exe 的任何文件夹目录)中
然后我这样做了:
mysql> USE db1 \g
mysql> source <query.sql \g
它也不起作用;命令行给了我同样的错误。我拥有的 mySQL 版本与我见过的其他版本不同。如您所见,您必须在每个查询的末尾添加“\g”。
请帮忙,如果描述不是很清楚,请告诉我..thx
编辑: 所以这是我在 query.sql 中的代码:
CREATE TABLE IF NOT EXISTS 'db1'(
'id' int(255) NOT NULL auto_increment,
'date' date NOT NULL,
'title' varchar(255) NOT NULL,
'introtext' text NOT NULL,
'maintext' text NOT NULL,
PRIMARY KEY ('id')
)
【问题讨论】:
-
错误信息并不是说你执行脚本错误,它说文件中的语句有语法错误。为了让我们准确说出错误的原因以及如何修复它,请将文件缩减为 minimal sample 并将其包含在您的问题中。
-
1064: 错误:1064 SQLSTATE: 42000 (ER_PARSE_ERROR) 消息:%s 在第 %d 行的 '%s' 附近。以“1”开头的错误是服务器端错误。您的脚本工作正常,或者您的错误以“2”开头。就像@outis 所说的,这可能是您查询中的语法错误。
-
@outis :这是我第一次想到的。但我随后对此表示怀疑,因为我几乎从教程练习博客中复制粘贴了确切的 SQL 代码..
-
@Benny:删除引号:
'db1'并且仅在必要时使用反引号`db1`。 -
我建议你使用Query Browser或者Workbench来启动,这样你就有了一个图形界面,可以使用File->Open Script。
标签: mysql mysql-error-1064 sql-scripts