创建 mysql table 时出现错误 1064 (42000)

ERROR 1064 (42000), when creating a mysql table

我正在尝试创建一个 table,但它给我这个错误:

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)
    );

这是一个明显的错误:

PlayerID, INT NOT NULL AUTO_INCREMENT

你有一个多余的逗号。应该是:

PlayerID INT NOT NULL AUTO_INCREMENT

也不要在 SQL 语句的下一行加上逗号!

这里有一个关于语法错误消息的提示:该消息告诉您错误在哪里。

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手册篇幅大,很容易想到"I don't know where the right page is."慢慢就可以了解手册的组织方式了。注意左栏中链接的层次结构。如有疑问,只需对 "mysql create table syntax".

这样的短语使用 Google

您应该能够自己回答简单的语法错误,而不是发布到 Stack Overflow。您会更快得到答案!

这应该有效。 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)
);

你应该这样写:

creat table Bowling_score(Playerid int, Firstname varchar(100), Lastname varchar(100), Game1 int, Game2 int, Game3 int);