gpt4 book ai didi

MySQL:获取最后插入的主键而不使用自动增量

转载 作者:行者123 更新时间:2023-11-29 16:38:11 24 4
gpt4 key购买 nike

当我使用唯一哈希值作为主键时,我删除了我的记录 ID。这个主键显然不能自增。

现在我的问题是如何检索最后插入的主键? MySQL 在 LAST_INSERT_ID() 上返回 0,但它不是自动增量列。

最佳答案

事实

没有与返回非整数值的 LAST_INSERT_ID() 等效的方法。

一个人可以简单地

  1. 简单的方法

添加一个整数列,可以自动递增或非自动递增。

要使其正确自动递增,人们至少必须在 MySQL 本身中或使用他们选择的语言实现一种算法,以使用新 ID 填充现有记录。

  • 更复杂的方法
  • https://stackoverflow.com/a/53481729/2323764 (@kellymandem)

    添加第二个表来管理 ID,并由没有 ID 的原始表触发。

    一个人不能

    我发现这个问答非常有希望。

    Is there a way to get last inserted id of a NON - auto incremented column in MySQL?

    已经提到在 INSERT 语句中使用 LAST_INSERT_ID()

    但是

    INSERT INTO `table` ( `non_integer_column` ) VALUES ( LAST_INSERT_ID( 42 ) );
    SELECT LAST_INSERT_ID( );
    -> 42
    INSERT INTO `table` ( `non_integer_column` ) VALUES ( LAST_INSERT_ID( 'a0b1c2d3e4f5' ) );
    SELECT LAST_INSERT_ID( );
    -> 0

    非整数值将被忽略。

    关于MySQL:获取最后插入的主键而不使用自动增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53480701/

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