MySql 更新如果存在则插入如果不存在

用户3910594

我正在尝试向表中插入新内容或更新同一个查询中的前一个。我可以用一些 php 代码解决它,但我的目标是在 sql 中全部完成。

问题

我的应用程序有不同语言的名称,我可以向它添加新语言。当我添加新语言时,我的产品的翻译会增加。我的目标是发送脚本信息,如果两列相同,则应更新数据,但如果不是,则应更新。

这是我的一些查询:

"INSERT INTO product_name(link,product_id,language)
VALUES(:link,:product_id,:language) ON DUPLICATE KEY UPDATE
link=:link,product_id=:product_id,language=:language"

上面的这个查询解决了问题的一部分,但是当我想更改链接时,它会添加新数据。我的目标是更改链接,如果该行中的 product_id 和语言相同,则应该更新,如果不是应该添加一个新的。Unique 不会解决问题,因为我需要在表中使用相同的语言和 ID。

戈登·利诺夫

我认为您只需要一个唯一约束(product_id, language)——并且在所有三列上都没有唯一约束或主键。

CREATE UNIQUE INDEX unq_productname_product_language ON product_name(product_id, language);

这要求这值是唯一的,而不是每个值都是唯一的。

那么这应该做你想做的:

INSERT INTO product_name(link, product_id, language)
    VALUES (:link, :product_id, :language)
    ON DUPLICATE KEY UPDATE link = VALUES(link);

请注意,此版本使用VALUES(link). 这将使用在语句中插入的值。我认为这比重复表达更清楚。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL-“如果不存在,请插入”查询?

来自分类Dev

MySQL更新一行(如果存在),如果不存在则插入,并提供一般查询建议

来自分类Dev

创建mysql表(如果不存在)

来自分类Dev

如果不存在并插入mysql存储过程

来自分类Dev

MySQL插入数据,如果不存在,否则显示警告

来自分类Dev

PHP MySQL-如果两个表中不存在该值,则插入

来自分类Dev

MySQL和HSQLDB中的“如果不存在,请插入”

来自分类Dev

MySQL-插入值(如果不存在)或更新并返回ID

来自分类Dev

MYSQL:复制行表并插入,如果不存在其他UPDATE

来自分类Dev

如果存在则更新,如果在MySQL中不存在则插入行

来自分类Dev

MySQL过程-如果不存在则插入行

来自分类Dev

如果不存在语法MySQL

来自分类Dev

如果表不存在,则插入MySQL

来自分类Dev

自动更新或插入(如果不存在)到mysql数据库

来自分类Dev

如果行不存在,则更新mysql表,如果不添加新行

来自分类Dev

如果值存在,则执行MySQL更新;如果不存在,则插入MySQL?

来自分类Dev

如果记录不存在,如何在mysql中插入?

来自分类Dev

MySQL插入数据,如果不存在,否则显示警告

来自分类Dev

MySQL和HSQLDB中的“如果不存在,请插入”

来自分类Dev

MySQL插入日期,如果不存在字段

来自分类Dev

更新或插入多个记录(如果不存在于mysql数据库的表中)

来自分类Dev

MySql表插入,如果不存在,否则在非唯一列上更新

来自分类Dev

如果行不存在相同的值,如何在 Mysql 中插入行

来自分类Dev

如果不存在,则插入记录到 MySQL 中具有特殊条件的特定列

来自分类Dev

如果行不存在,请检查 MySQL,然后插入(没有唯一键)

来自分类Dev

如果值不存在,MYSQL 将值插入另一个表

来自分类Dev

MySQL - 如果不存在,则使用子查询插入

来自分类Dev

如果字段存在则更新数量,如果不存在则插入新条目 mysql php

来自分类Dev

MySQL:如果存在值,则对行进行更新,如果值不存在,则进行插入

Related 相关文章

  1. 1

    MySQL-“如果不存在,请插入”查询?

  2. 2

    MySQL更新一行(如果存在),如果不存在则插入,并提供一般查询建议

  3. 3

    创建mysql表(如果不存在)

  4. 4

    如果不存在并插入mysql存储过程

  5. 5

    MySQL插入数据,如果不存在,否则显示警告

  6. 6

    PHP MySQL-如果两个表中不存在该值,则插入

  7. 7

    MySQL和HSQLDB中的“如果不存在,请插入”

  8. 8

    MySQL-插入值(如果不存在)或更新并返回ID

  9. 9

    MYSQL:复制行表并插入,如果不存在其他UPDATE

  10. 10

    如果存在则更新,如果在MySQL中不存在则插入行

  11. 11

    MySQL过程-如果不存在则插入行

  12. 12

    如果不存在语法MySQL

  13. 13

    如果表不存在,则插入MySQL

  14. 14

    自动更新或插入(如果不存在)到mysql数据库

  15. 15

    如果行不存在,则更新mysql表,如果不添加新行

  16. 16

    如果值存在,则执行MySQL更新;如果不存在,则插入MySQL?

  17. 17

    如果记录不存在,如何在mysql中插入?

  18. 18

    MySQL插入数据,如果不存在,否则显示警告

  19. 19

    MySQL和HSQLDB中的“如果不存在,请插入”

  20. 20

    MySQL插入日期,如果不存在字段

  21. 21

    更新或插入多个记录(如果不存在于mysql数据库的表中)

  22. 22

    MySql表插入,如果不存在,否则在非唯一列上更新

  23. 23

    如果行不存在相同的值,如何在 Mysql 中插入行

  24. 24

    如果不存在,则插入记录到 MySQL 中具有特殊条件的特定列

  25. 25

    如果行不存在,请检查 MySQL,然后插入(没有唯一键)

  26. 26

    如果值不存在,MYSQL 将值插入另一个表

  27. 27

    MySQL - 如果不存在,则使用子查询插入

  28. 28

    如果字段存在则更新数量,如果不存在则插入新条目 mysql php

  29. 29

    MySQL:如果存在值,则对行进行更新,如果值不存在,则进行插入

热门标签

归档