2011-04-21 186 views
1

當我嘗試插入這個代碼我得到一個MySQL錯誤語法錯誤語法-mysql

CREATE TABLE 'data' 
(
'id' int primary key auto_increment, 
'data' varchar(50), 
'weight' int(2), 
) 

#1064 - 你在你的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在''data'附近使用正確的語法。

錯誤是什麼?

感謝

回答

4

你有weight線後,一個額外的逗號:

'weight' int(2), 
       ^--- here 

還有,你沒有用引號括起來的字段名稱,所以對於整個事情的正確的語法是:

CREATE TABLE data (
    id int primary key auto_increment, 
    data varchar(50), 
    weight int(2) 
); 
+0

+1爲逗號並取出單引號。 -1不建議反填字段名稱。 – 2011-04-21 00:42:08

+1

爲什麼?反撥只會鼓勵首先使用保留字。除非你有一個絕對重要的理由來使用它們,否則他們應該避免,因此反引號也應該避免。 – 2011-04-21 00:42:53

+0

@MarcB:在現實世界中,您根據數據表示的內容選擇字段名稱,而不是某些可能是某個模糊的MySQL關鍵字。養成使用反引號的習慣意味着這是一個問題,你可以繼續創建富有表現力的,不言自明的表格,而不會浪費你的時間來執行廢話。 – 2011-04-21 00:45:23

0

您使用了錯誤的引號類型。 MySQL的文字名引用使用反引號,而不是普通的撇號。事實上,你根本不需要引用這些名字。

+0

不,但是避免[潛在的安靜]錯誤是一個好習慣。 – 2011-04-21 00:44:41

1

你有一個錯誤的尾隨逗號,並且分隔字段名的方式是使用反引號,而不是單引號。

CREATE TABLE `data` (
    `id`  INT PRIMARY KEY AUTO_INCREMENT, 
    `data` VARCHAR(50), 
    `weight` INT(2) 
);