ERROR 1064(42000),创建MySQL表时
我试图创建一个表,但它给我这个错误:ERROR 1064(42000),创建MySQL表时
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 touse near ' INT NOT NULL AUTO_INCREMENT
这里是我的代码:
CREATE TABLE bowling_scores (
PlayerID, INT NOT NULL AUTO_INCREMENT
, LName VARCHAR(100) NOT NULL
, FName VARCHAR(100) NOT NULL
, Game1 INT NULL
, Game2 INT NULL
, Game3 INT NULL
, Game4 INT NULL
, PRIMARY KEY (PlayerID)
);
下面是关于语法错误消息的提示:消息告诉你错误在哪里。
check the manual that corresponds to your MySQL server version for the right syntax to use near ' INT NOT NULL AUTO_INCREMENT
这是告诉你,MySQL变得困惑,因为它不期望看到该文本。这通常意味着你在那个时候犯了一个错误,或者在之前立即吧。
这可以帮助您缩小在SQL语句中的搜索范围,使其发生错误。
该错误信息还会告诉您该怎么做:检查手册。您应该通过阅读文档和示例来帮助您更好地理解SQL。
我已经使用MySQL近20年了,但我仍然每天都参考参考文档。事实上,它是,因为我对MySQL有经验,我知道这是正确的做法。
所有SQL语句在手册中都有参考页。这里是CREATE TABLE的页面:https://dev.mysql.com/doc/refman/5.7/en/create-table.html
MySQL手册很大,所以很容易想到“我不知道正确的页面在哪里”。逐渐地,你可以学习手册是如何组织的。注意左栏的链接层次结构。如有疑问,只需使用Google的短语“mysql create table syntax”即可。
您应该能够为自己回答简单的语法错误,而不是发布到堆栈溢出。你会更快得到你的答案!
这是一个明显的错误:
PlayerID, INT NOT NULL AUTO_INCREMENT
您有一个无关的逗号。它应该是:
PlayerID INT NOT NULL AUTO_INCREMENT
不要在您的SQL语句的下一行上添加逗号!
这应该工作。你有一个逗号后PlayerID
CREATE TABLE bowling_scores (
PlayerID INT NOT NULL AUTO_INCREMENT,
LName VARCHAR(100) NOT NULL,
FName VARCHAR(100) NOT NULL,
Game1 INT NULL,
Game2 INT NULL,
Game3 INT NULL,
Game4 INT NULL,
PRIMARY KEY (PlayerID)
);
尝试改变'PlayerID,''到PlayerID' – Ata
看看在['CREATE TABLE']的语法(https://dev.mysql.com/doc/ refman/5.7/en/create-table.html)声明。 – axiac