【问题标题】:Insert data to mysql database if not exist如果不存在,将数据插入mysql数据库
【发布时间】:2014-05-01 18:08:58
【问题描述】:

我正在使用 java,如果不存在,我想向 mysql 数据库插入数据,如果存在,我还想更新该数据。但我找不到 mysql 命令。

我找到了插入代码,但这不是我想要的

INSERT INTO contacts
(contact_id, contact_name)
SELECT supplier_id, supplier_name
FROM suppliers
WHERE EXISTS (SELECT *
              FROM orders
              WHERE suppliers.supplier_id = orders.supplier_id);

为了更新,我找到了这段代码。但这不是我想要的。

UPDATE suppliers
SET supplier_name = (SELECT customers.customer_name
                     FROM customers
                     WHERE customers.customer_id = suppliers.supplier_id)
WHERE EXISTS (SELECT *
              FROM customers
              WHERE customers.customer_id = suppliers.supplier_id);

我想做的是这样的

UPDATE student SET student_score = 20 where student_id = 1 WHERE EXIST ( select * from student where student_id = 1;

【问题讨论】:

标签: java mysql command sql-update sql-insert


【解决方案1】:

您可以使用: 在重复键更新 name=values(name), firstname=values(firstname) 时插入 table_name (id, name, firstname) values(1, "Sessi", "Brahim")

根据您的查询调整它。

【讨论】:

  • 但这只是更新值,如果不存在则不会插入新值。
  • 确实如此。如果 id 不存在,我编写的查询将插入 table_name。如果存在,则会引发重复标志并执行更新查询。
猜你喜欢
  • 2019-11-17
  • 1970-01-01
  • 1970-01-01
  • 2019-09-06
  • 2023-04-10
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 2011-08-06
相关资源
最近更新 更多