2012-10-14 43 views
-1

我用mysql 5.5.27請解決語法錯誤在mysql插入查詢

在它看起來像雙引號是兩個單引號更緊密的地方,他們實際上是在Excel中sheetin空值D b。

我碰到下面的錯誤,

com.mysql.jdbc.exceptions.jdbc4.MySQLS… You have an error in your SQL syntax; 
    check the manual that corresponds to your MySQL server version for the right 
    syntax to use near 'CASE,lname,fname,gender,dob,ssn,… at line 1 

實際的查詢是

Insert into 
    work(CASE,lname,fname,gender,dob 
+0

您發佈的原始查詢是不完整的,應該被格式化更好。它將幫助那些試圖解答問題出現的地方(或本地測試)。 – vladko

回答

3

「CASE」 是保留字:見http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

你可能逃脫它:

Insert into child(`CASE`,LASTNAME,FIRSTNAME,GENDER,DOB… American','1689 Crucible Street','','Pittsburgh','PA','15210','(4… 

但我個人更喜歡重命名該列。

+0

因此,如果一列包含日期數據,您寧願不將其命名爲「日期」?如果該列實際上包含'case'數據(不管可能如何),我強烈建議以這種方式命名,而不是僅僅因爲原始(和擬合)名稱是保留字而將列重命名爲其他東西。爲了使我們能夠在名稱中使用保留字,這就是反引號的用途...... – nem75

+0

通常,假設你只是沒有做一個家庭作業2頁PHP網站,你必須管理你的基地,並使用許多工具,您必須使用命令行查詢等方式來探索您的基礎。將字詞保留爲列**不被推薦,因爲它很快就會變得痛苦。 –

+0

非常感謝。像你這樣的人節省了我們的時間並增加了你的知識繼續幫助別人解決他們的錯誤。 – user1318064

0

CASE是保留字...報價吧..

0

對於MySQL:

insert into tableName values() 

反正你有SQL語法錯誤:

插入子(CASE,姓氏,名字,性別,出生日期...美國 ' '1689坩堝街', '', '匹茲堡', 'PA', '15210','(4 ...

  1. 案例是reserwed詞:http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
  2. DOB ......美國「你錯過了‘DOB ......美國’