MySQL语法错误,下划线

时间:2017-07-05 13:22:43

标签: mysql phpmyadmin

执行此查询

INSERT INTO classes(  '_fkUserID',  'date',  'time' ) 
VALUES (

'1',  '2017-07-04',  '8:15'
)

给我以下错误

#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 ''_fkUserID', 'date', 'time') VALUES ('1', '2017-07-04', '8:15')' at line 1 

我假设错误与解析下划线有关,但我无法找到解决方法。

3 个答案:

答案 0 :(得分:1)

更改

classes('_fkUserID', 'date', 'time') 

classes(`_fkUserID`,  `date`,  `time`) 

单引号将字段设为字符串

您不一定需要在列名称上添加反引号,除非它们是Reserved Words到MySql。在您的sql语句中,datetime是保留字,因此您必须在其上使用反引号,这意味着它也可以用作:

classes(_fkUserID, `date`,  `time`) 

反引号是标识符引用字符,这意味着它的目的是使MySql理解它应该识别其中的任何内容作为标识符,在您的情况下是列名。

答案 1 :(得分:0)

实际上是:

INSERT INTO classes(_fkUserID,date,time) 
VALUES (

'1',  '2017-07-04',  '8:15'
)

答案 2 :(得分:0)

尝试删除单引号并改为使用返回刻度符号(