2017-08-17 92 views
1

我試圖創建一個表,但它給我這個錯誤: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) 
    ); 
+0

嘗試改變'PlayerID,''到PlayerID' – Ata

+0

看看在['CREATE TABLE']的語法(https://dev.mysql.com/doc/ refman/5.7/en/create-table.html)聲明。 – axiac

回答

1

下面是關於語法錯誤消息的提示:消息告訴你錯誤在哪裏。

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」即可。

您應該能夠爲自己回答簡單的語法錯誤,而不是發佈到堆棧溢出。你會更快得到你的答案!

1

這是一個明顯的錯誤:

PlayerID, INT NOT NULL AUTO_INCREMENT 

您有一個無關的逗號。它應該是:

PlayerID INT NOT NULL AUTO_INCREMENT 

不要在您的SQL語句的下一行上添加逗號!

0

這應該工作。你有一個逗號後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) 
);