gpt4 book ai didi

MySQL current_insert_id()? (不是 last_insert_id())

转载 作者:可可西里 更新时间:2023-11-01 07:46:49 26 4
gpt4 key购买 nike

我正在插入一个带有 char 列的行,用于基于(除其他事项外)该行的自动 ID 的散列。

我知道我可以插入它、获取 insert_id、计算哈希并更新它。

有谁知道在单个查询中执行此操作的方法吗?您在插入时需要行 insert_id。那是完全不可能的,还是有类似 current_insert_id()...

谢谢!

最佳答案

不,MySQL 中没有函数可以为您提供 current_insert_id()

从 MySQL 中的 AUTO_INCREMENT 字段获取生成的 ID 值的唯一方法是执行 INSERT,然后调用 last_insert_id()。因此,您可能需要执行单独的更新来计算哈希的计划。

我可以想到另外两种选择:

  • 在 INSERT 之前使用 AUTO_INCREMENT 之外的其他机制自行生成唯一值。例如,请参阅 UUID()功能。

    SET @id = SELECT UUID();
    INSERT INTO MyTable (id, hash) VALUES (@id, hash(@id...));
  • 不要在您的哈希计算中包含 ID。

关于MySQL current_insert_id()? (不是 last_insert_id()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/873451/

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