首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个键值插入和处理重复项的MySql增量字段

每个键值插入和处理重复项的MySql增量字段
EN

Stack Overflow用户
提问于 2014-09-07 13:33:42
回答 1查看 237关注 0票数 0

背景

我有一个有两个列的表,一个是键,它是word,另一个不是键,它是instances。我想把每个单词插入到一个新的行中,并将它的instances字段增加1。现在,如果现在插入的单词已经存在,则不应该重复,但是它的instances字段应该增加。

示例

  1. 表在开始时为空
  2. 插入单词"hello“并将其instances加1。
  3. 插入单词"world“并将其instances加1。
  4. 再次插入单词"hello“,并将其instances值增加1。

现在这张桌子看起来是这样的:

代码语言:javascript
复制
hello   2
world   1

我试过了:

代码语言:javascript
复制
MySql_Connection.query("

    INSERT INTO `my_database`.my_table 
    (`word`) VALUES ('"+ word_to_insert +"') 
    UPDATE  `instances` = `instances` + 1 
    ON DUPLICATE KEY `instances` = `instances` + 1

");

获取语法错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-07 14:04:15

你的陈述应该是

代码语言:javascript
复制
MySql_Connection.query("

    INSERT INTO `my_database`.my_table 
    (`word`) VALUES ('"+ word_to_insert +"') 
    ON DUPLICATE KEY UPDATE `instances` = `instances` + 1

");

而不是。

您也应该为您的instances列提供一个默认值,如果插入一个新单词,则应该在instances列中获得1的值。

代码语言:javascript
复制
CREATE TABLE my_table (
    word VARCHAR(100) NOT NULL PRIMARY KEY,
    instances INT NOT NULL DEFAULT 1
);

演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25710737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档