2012-05-11 140 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

謝謝,我只是完全改變了名字,但周圍使用情況下,報價沒有工作。 –