2016-02-05 26 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())