2016-02-05 28 views
-1

嘿,我在我的mysql語法中有一個錯誤,我不知道爲什麼我得到它。我看不到我的代碼錯誤,我已經檢查的幫助網頁...我的語法中的Mysql錯誤

INSERT INTO downloads_log 
    (file,by,time) VALUES 
    (1,1, NOW()) 

錯誤:

'SQLSTATE[42000]: Syntax error or access violation: 1064 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 'by, time) VALUES (1,1,NOW()) 
+2

語法高亮告訴它所有,'by'是一個保留字,你需要把它包裹在''' –

回答

2

byfiletime MYSQL中使用的保留關鍵字。使用反勾號(`)來轉義查詢中的關鍵字。將您的查詢更改爲:

INSERT INTO downloads_log 
    (`file`,`by`,`time`) VALUES 
    (1,1, NOW()) 
1

您使用保留的關鍵字作爲列名。儘量避免使用保留的關鍵字作爲列名,但如果你沒有選擇,你必須將它們傳遞給反引號``在以下幾點:

INSERT INTO downloads_log (`file`,`by`,`time`) VALUES (1,1, NOW()) 
2

by是保留關鍵字。嘗試:

INSERT INTO downloads_log 
(`file`, `by`, `time`) VALUES 
(1, 1, NOW())