2013-05-31 136 views
-1

我的下列SQL代碼顯示錯誤。出現在phpMyAdmin中的錯誤信息是爲什麼我的代碼給我一個SQL錯誤

#1064 - 您的SQL語法錯誤;檢查對應於你的MySQL服務器版本正確的語法使用近「長= -6.52607,LAT = 54.10046,REG =‘RGE信息ERE手冊’,信息=‘在這裏一般信息’在1號線

當我直接使用phpmyadmin插入它們,但現在執行一個sql查詢時,long和lat工作正常。這兩個字段設置爲浮動。我已經厭倦了他們都使用和不使用標語引號。

INSERT INTO events SET 
    name = 'Home Event', 
    url = 'home-event', 
    eventDate = '2013-06-29', 
    address1 = '18 Daly Park', 
    address2 = 'Silverbridge', 
    city = 'Newry', 
    county = 'Down', 
    postcode = 'BT35 9PJ', 
    long = -6.52607, 
    lat = 54.10046, 
    reg = 'Rge info ere', 
    info = 'general info here', 
    contact = 'contact me', 
    image = '' 
+1

'Long'是一個保留字。你需要反引用它;或將該列重命名爲其他內容。 – andrewsi

+0

但是,如何使用phpMyAdmin界面工作正常? –

+0

@PierceMcGeough phpMyAdmin知道這個問題並把它放在它的周圍。 – glglgl

回答

5

如果您嘗試谷歌錯誤消息,LONG是MySQL中的保留關鍵字。

你有兩個選擇,使其工作,

之一,反引號包住列名,

`long` = -6.52607 

或兩個,更改列的名稱,這樣的錯誤不會再回來了。

你可以在這裏找到所有關鍵字的列表:MySQL Reserved Keywords List

+0

+1常識 – Kermit

6

您使用保留一個MySQL的關鍵字至極是long,你將需要避免它與反引號查詢,讓它明白這是一個column name

`long` = -6.52607, 

看一看documentation here

由於側面說明有關mysql reserved keyword我想補充一點,你能避免它們逃跑給人一種表人然後在它之前使用alias.的列名。其實INSERT查詢不支持表別名,因此您無法在此特定情況下使用。

3

長是你應該進入逃逸,與SQL

引用您的文字

變長的實踐關鍵字`long`

`long` = -6.52607, 
相關問題