2012-05-11 111 views
1

这是错误:MySQL更新错误#1064

#1064 - 您的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的正确语法手册“案例=”记名” WHERE ID = '42‘’在1号线

这是查询:

UPDATE `ruen_kw` SET case='nominative' WHERE id='42' 

表:

CREATE TABLE `ruen_kw` (
    `id` tinyint(6) NOT NULL auto_increment, 
    `language` varchar(2) NOT NULL, 
    `keyword` varchar(80) character set utf8 NOT NULL, 
    `translation` varchar(300) NOT NULL, 
    `case` varchar(50) NOT NULL, 
    `tense` varchar(50) NOT NULL, 
    `gender` varchar(25) NOT NULL, 
    `number` varchar(50) NOT NULL, 
    `definition` varchar(200) character set utf8 NOT NULL, 
    PRIMARY KEY (`id`), 
    FULLTEXT KEY `keyword_2` (`keyword`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=46 ; 

线进行更新:

INSERT INTO ruen_kwidlanguagekeywordtranslationcasetensegendernumberdefinition)VALUES (42, 'RU', 'N ...озÑйка', '女主人', 'NOM', '', '', '' ,'');

回答

2

“case”是MySQL中的保留字。从MySQL Documentation

Reserved words are permitted as identifiers if you quote them as described in Section 9.2, “Schema Object Names”:

试试这个,而是:

UPDATE ruen_kw SET `case`='nominative' WHERE id='42'; 
+0

谢谢,我只是完全改变了名字,但周围使用情况下,报价没有工作。 –