Can';我看不到mySql语法错误

Can';我看不到mySql语法错误,mysql,pdo,Mysql,Pdo,很抱歉问了这个愚蠢的问题,但我无法理解我的打字错误: INSERT INTO lunchmenu (rid, date, repeat, approved) VALUES ('32', '2011-10-18', '3', '0') 我得到一个mySQL(v5)错误,说 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 第行“重复,批准”附近的值('32','2011-10-18','3','0') 一, 我的桌子结构是 Field Type

很抱歉问了这个愚蠢的问题,但我无法理解我的打字错误:

INSERT INTO lunchmenu (rid, date, repeat, approved) VALUES ('32', '2011-10-18', '3', '0')
我得到一个mySQL(v5)错误,说

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 第行“重复,批准”附近的值('32','2011-10-18','3','0') 一,

我的桌子结构是

   Field    Type    Size - NULL - Key - Attribute - Default - Extra
1. id       int     11     no     PI    unsigned              auto_increment
2. rid      int     11     no           unsigned                
3. date     date           no     I                     
4. repeat   tinyint 1      no           unsigned    0           
5. approved int     10     no     I     unsigned    0

有什么提示吗?谢谢。

日期
重复


用反勾号将它们括起来,或使用不同的列名。

date
repeat

用反勾号将它们包装起来,或者使用不同的列名。

问题在于和是保留的,您需要使用反勾号对其进行转义`才能将其用作列

INSERT INTO `lunchmenu` (`rid`, `date`, `repeat`, `approved`) VALUES ....
总是转义列名和表名是一种很好的做法。

问题是and是保留的,您需要使用backticks对其进行转义,以便将其用作列

INSERT INTO `lunchmenu` (`rid`, `date`, `repeat`, `approved`) VALUES ....
始终转义列名和表名是一种很好的做法。

尝试以下方法:

INSERT INTO lunchmenu (rid, `date`, `repeat`, approved) 
VALUES (32, '2011-10-18', 3, 0)
Date
repeat
是保留字,因此必须使用反勾号。
可以找到其他保留字

请尝试以下操作:

INSERT INTO lunchmenu (rid, `date`, `repeat`, approved) 
VALUES (32, '2011-10-18', 3, 0)
Date
repeat
是保留字,因此必须使用反勾号。

其他保留字可以在MySQL中找到

DATE
REPEAT
是保留关键字,请尝试

INSERT INTO lunchmenu AS l (l.rid, l.date, l.repeat, l.approved) VALUES ('32', '2011-10-18', '3', '0')

这将使您的数据库显式地将它们解析为列。

DATE
REPEAT
是MySQL中的保留关键字,请尝试

INSERT INTO lunchmenu AS l (l.rid, l.date, l.repeat, l.approved) VALUES ('32', '2011-10-18', '3', '0')

这将使您的数据库显式地将它们解析为列。

@alinoz:是的,但为什么要对数值使用引号?没有原因,我只是想指出错误在另一个地方。@alinoz:是的,您是对的。无论如何,我的答案也会涵盖这一事实,只是为了完整:)@alinoz:是的,但为什么要用引号来表示数值?没有理由,我只是想指出错误在另一个地方。@alinoz:是的,你是对的。无论如何,我的回答也会涵盖这个事实,只是为了完整:)uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。。。我知道这是愚蠢的!谢谢你所有的正确答案。。。!Uuuuuuh。。。我知道这是愚蠢的!谢谢你所有的正确答案。。。!