【问题标题】:How to insert and update multiple rows to Sql database with same query?如何使用相同的查询向 Sql 数据库插入和更新多行?
【发布时间】:2010-10-23 02:51:07
【问题描述】:

我的表中有唯一列的计数器。现在我有列名(唯一)和计数器(包含一些整数值)的列表。我知道可以插入多行,我只是可以进行包含列表中所有这些项目的查询,但问题是如果唯一字段中已经有数据。

在这种情况下,已经存在此名称并且它具有计数器值,在这种情况下,我需要将现有计数器值相加以添加值并更新该行。有没有办法用一个 Sql 查询来完成这一切?我使用 MySQL 数据库和 Java。

【问题讨论】:

    标签: java sql mysql


    【解决方案1】:

    插入重复密钥更新

    是您要查找的语法。

    here

    【讨论】:

    • 如何在多行中使用它?
    • 应该在有的时候工作吗?对于准备好的声明? INSERT INTO words (word, counter) VALUES(?, ?) ON duplicate KEY UPDATE counter=counter+?, VALUES(?, ?) ON duplicate KEY UPDATE counter=counter+?, VALUES(?, ?) ON duplicate KEY UPDATE counter= counter+?, VALUES(?, ?) ON duplicate KEY UPDATE counter=counter+?;
    • 对不起,我不明白这个问题。我没有准备好的陈述的经验。您的问题只是重复 VALUES(?, ?) ON DUPLICATE KEY UPDATE counter=counter+?几次;我不熟悉multiple-VALUES 子句语法,尽管它可能工作正常。如果不允许使用多个值,那么您可以对每组值重复查询。或者,我认为您可以在单个 VALUES 子句中包含所有值。具体的例子会有所帮助。
    猜你喜欢
    • 2020-07-11
    • 2016-02-17
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多