背景
我有一个有两个列的表,一个是键,它是word,另一个不是键,它是instances。我想把每个单词插入到一个新的行中,并将它的instances字段增加1。现在,如果现在插入的单词已经存在,则不应该重复,但是它的instances字段应该增加。
示例
instances加1。instances加1。instances值增加1。现在这张桌子看起来是这样的:
hello 2
world 1我试过了:
MySql_Connection.query("
INSERT INTO `my_database`.my_table
(`word`) VALUES ('"+ word_to_insert +"')
UPDATE `instances` = `instances` + 1
ON DUPLICATE KEY `instances` = `instances` + 1
");获取语法错误
发布于 2014-09-07 14:04:15
你的陈述应该是
MySql_Connection.query("
INSERT INTO `my_database`.my_table
(`word`) VALUES ('"+ word_to_insert +"')
ON DUPLICATE KEY UPDATE `instances` = `instances` + 1
");而不是。
您也应该为您的instances列提供一个默认值,如果插入一个新单词,则应该在instances列中获得1的值。
CREATE TABLE my_table (
word VARCHAR(100) NOT NULL PRIMARY KEY,
instances INT NOT NULL DEFAULT 1
);演示
https://stackoverflow.com/questions/25710737
复制相似问题