gpt4 book ai didi

MySQL - 我可以在实际的插入查询本身中使用即将成为 insert_id 吗?

转载 作者:行者123 更新时间:2023-11-30 23:28:04 26 4
gpt4 key购买 nike

我刚遇到需要复制唯一性的情况另一列中每个新行的(自动递增)ID。所以我是想知道,而不是用老式的方式来做:

  1. 插入行
  2. 获取insert_id
  3. 用 insert_id 更新行

我可以告诉 MySQL 使用与新 ID 相同的值吗?要设置为另一列的值?

大致是这样的:

INSERT INTO my_table(unique_column, id_duplicate) 
VALUES('value', GET_UNIQUE_ID_OF_THIS() )

最佳答案

无法在单个查询中使用自动增量列来完成您想要完成的任务。

尝试从另一个方向接近它。假设您的自动递增列是 id,而您的其他列称为 other_id。您可以将 other_id 列设置为允许 NULL,并且只需将其值设置为 NULL 以进行初始插入。

然后,当您查询该值时,只需执行如下操作:

SELECT id, IFNULL(other_id, id) AS other_id FROM mytable

最终结果是一样的。如果您反对 NULL,您也可以使用 0 作为默认值,因为自动递增值从 1 开始。

关于MySQL - 我可以在实际的插入查询本身中使用即将成为 insert_id 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12158911/

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