2011-05-05 107 views
1

我運行的SQL語句:ERROR 1064(42000):您有一個錯誤的SQL語法

create table group(groupID varchar(15) primary key, 
group_name varchar(30), 
name_of_member varchar(100), 
studentID varchar(15), 
foreign key(studentID) references student(studentID))engine=innodb; 

但它不工作。我發現了錯誤:

ERROR 1064 (42000) : You have an error in your SQL syntax.... near group(groupID varchar(15) primary key, group_name varchar(30),name_of_member va' at line 1

請幫我... :(

+0

正如@Nathan在他的回答中所說的,不要使用保留字作爲表或列名,除非你想要很多煩惱。研究列表MySQL保留字,然後重新命名錶/列以避免命名GROUP,SELECT,DELETE等等。 *請*在將來的問題中對代碼進行格式化 - 突出顯示代碼並按下Ctrl + K,或者點擊帶有{}圖片的按鈕,或者將每行代碼縮進4個空格。它使閱讀和理解變得更容易。 – 2011-05-05 20:29:39

+0

@KenWhite我得到了同樣的錯誤,但通過參考給定的答案來解決它。在MySql中是「命令」關鍵字,因爲當我將表名從訂單更改爲訂單時,查詢執行時沒有任何錯誤。據我所知「order by」是一個關鍵字 – 2017-05-12 04:36:19

+1

@ShantanuNandan:ORDER是一個關鍵字,因爲它是ORDER BY的一部分;這足以混淆解析器。 – 2017-05-12 12:27:51

回答

4

group是一個關鍵字[思考select sum(column) from sometable group by name]你需要命名不同的表的東西

。有些DBMS會讓你使用關鍵字作爲表/列名,但它們需要被轉義,即在MSSQL中,你會使用create table [group](...)

+0

mysql的轉義字符是back tick:' – 2011-05-05 20:28:36

+0

thnk you ..我只是將其從組更改爲PARTY ...它的工作.. thx :) – Ezwan 2011-05-05 20:29:59

相關問題