相关疑难解决方法(0)

MySQL ON DUPLICATE KEY UPDATE用于在单个查询中插入多行

我有一个SQL查询,我想在单个查询中插入多行.所以我使用了类似的东西:

$sql = "INSERT INTO beautiful (name, age)
  VALUES
  ('Helen', 24),
  ('Katrina', 21),
  ('Samia', 22),
  ('Hui Ling', 25),
  ('Yumie', 29)";

mysql_query( $sql, $conn );
Run Code Online (Sandbox Code Playgroud)

问题是当我执行这个查询时,我想检查是否应该检查一个UNIQUE密钥(不是PRIMARY KEY),例如'name'上面的密钥,如果'name'已经存在,则应该更新相应的整行,否则插入.

例如,在下面的示例中,如果'Katrina'数据库中已存在,则应更新整个行,而不管字段的数量.如果'Samia'不存在,则应插入该行.

我想过使用:

INSERT INTO beautiful (name, age)
      VALUES
      ('Helen', 24),
      ('Katrina', 21),
      ('Samia', 22),
      ('Hui Ling', 25),
      ('Yumie', 29) ON DUPLICATE KEY UPDATE
Run Code Online (Sandbox Code Playgroud)

这是陷阱.我陷入困境,对如何继续感到困惑.我有多行要一次插入/更新.请给我一个指示.谢谢.

mysql sql duplicates

192
推荐指数
1
解决办法
9万
查看次数

标签 统计

duplicates ×1

mysql ×1

sql ×1