相关疑难解决方法(0)

插入MySQL表或更新(如果存在)

我想在数据库表中添加一行,但如果存在具有相同唯一键的行,我想更新该行.

例如,

insert into table (id, name, age) values(1, "A", 19)
Run Code Online (Sandbox Code Playgroud)

假设唯一的密钥是id,在我的数据库中有一行id = 1.在这种情况下,我想用这些值更新该行.通常这会产生错误.如果我使用insert IGNORE它将忽略错误,但它仍然不会更新.

mysql sql upsert insert-update

821
推荐指数
12
解决办法
78万
查看次数

MySQL ON DUPLICATE KEY - 最后一次插入ID?

我有以下查询:

INSERT INTO table (a) VALUES (0)
  ON DUPLICATE KEY UPDATE a=1
Run Code Online (Sandbox Code Playgroud)

我想要插入或更新的ID.通常我会运行第二个查询以获取此信息,因为我认为insert_id()只返回'inserted'ID而不是更新的ID.

有没有办法INSERT/UPDATE并检索行的ID而不运行两个查询?

mysql insert-id

125
推荐指数
2
解决办法
7万
查看次数

标签 统计

mysql ×2

insert-id ×1

insert-update ×1

sql ×1

upsert ×1