【问题标题】:Access Auto-Increment Value During INSERT INTO Statement在 INSERT INTO 语句期间访问自动增量值
【发布时间】:2011-10-19 10:15:37
【问题描述】:

我目前正在使用 MySQL。我有一个表,它有一个 auto_increment 'id' 字段和一个 'imgname' 字段,其中包含一个作为图像文件名的字符串。

我需要使用由 INSERT INTO 语句创建的 auto_increment 值生成“imgname”值。问题是,我不知道这个值,直到我可以使用 mysql_insert_id,在插入查询运行之后。我想知道是否可以在插入查询期间以某种方式访问​​此值,然后使用它在查询语句中生成我的字符串。

提前致谢。

【问题讨论】:

    标签: mysql sql database auto-increment insert-into


    【解决方案1】:

    我会保持idimgname 相互独立,并在需要时将两者结合在SELECT 上。如果需要足够频繁,create a view

    【讨论】:

    • 这可能是最好的主意,但如果可能的话,我真的很想做我在问题中提出的问题。
    【解决方案2】:

    看看LAST_INSERT_ID() 函数。如果性能不是问题,定期INSERT,然后UPDATE 使用LAST_INSERT_ID(),例如:

    UPDATE table SET name = CONCAT(name, "-", LAST_INSERT_ID()) WHERE id = LAST_INSERT_ID();
    

    【讨论】:

    • 是的,这就是我目前正在做的事情,但如果可能的话,我想用一个查询来完成。
    猜你喜欢
    • 2013-03-13
    • 2023-04-06
    • 2014-09-06
    • 2011-02-15
    • 2019-04-19
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 2016-02-03
    相关资源
    最近更新 更多