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。。。我知道这是愚蠢的!谢谢你所有的正确答案。。。!