gpt4 book ai didi

mysql - 不重复行时插入?

转载 作者:可可西里 更新时间:2023-11-01 08:21:03 26 4
gpt4 key购买 nike

当价格与我表中的价格不同时,我只想替换(更新)DATEPRICEOLDPRICE,其中 MODEL 是唯一的。

示例行表数据:

DATE        |   MAKE   |   MODEL   |   PRICE   |   OLDPRICE
2012-04-15 | Advance | DTA-100-X | 400 | 390

肯定有十几种方法可以做到这一点,但我正在寻找用于 MySQL 查询的最佳解决方案。

我应该使用:

  1. INSERT INTO..ON DUPLICATE KEY UPDATE
  2. 替换为..
  3. 更新...价格 != XXX

如果 MODEL 相同但 PRICE 不同,则基本语法为 UPDATEOLDPRICEUPDATE

上变为 PRICE

*更新*

无论价格是否改变,这都会取代。如果价格发生变化,我只想要更新/替换,即,这不应该更新上面示例中给出的任何内容,但是它会更新,因为日期不同:

REPLACE INTO MyTable (DATE, MAKE, MODEL, PRICE, OLDPRICE) VALUES ('2012-10-02', 'Advance', 'DTA-100-X', '400', '390')

最佳答案

MySQL 有一个 REPLACE statement专门为此目的。

REPLACE works exactly like INSERT, except that if an old row in the table has the same value as a new row for a PRIMARY KEY or a UNIQUE index, the old row is deleted before the new row is inserted.

-- http://dev.mysql.com/doc/refman/5.6/en/replace.html

关于mysql - 不重复行时插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10251482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com