gpt4 book ai didi

mysql - 在一个查询中插入并选择唯一元素的 id

转载 作者:行者123 更新时间:2023-11-29 13:52:01 26 4
gpt4 key购买 nike

我有一个像这样的简单表格

CREATE TABLE authid(
id INT NOT NULL AUTO_INCREMENT,
authid VARCHAR(128) NOT NULL UNIQUE,
PRIMARY KEY(id)
);

现在如果我插入一个值

INSERT INTO authid(authid) VALUES('test');

第一次它会正常工作并返回插入的 id,但是如果我在 authid 已经存在时再次执行此操作(请注意,我们已将 authid 标记为 UNIQUE),它将返回错误。

有没有一种方法可以在一个 SQL 语句中实现这一点:插入它,获取 id,如果它已经存在,仍然获取 id。

最佳答案

看看这个:http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

如果您使用 MySQL 5.0 或更高版本,您可以使用“INSERT ... ON DUPLICATE KEY UPDATE”语法。您也许可以将其与 LAST_INSERT_ID() 结合起来(我对此并不乐观)

所以:

insert into authid (authid) values ('test') on duplicate key update id=LAST_INSERT_ID(id), authid='test';
select LAST_INSERT_ID();

关于mysql - 在一个查询中插入并选择唯一元素的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16548905/

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