【问题标题】:Get unique IDs for multiple INSERT获取多个 INSERT 的唯一 ID
【发布时间】:2012-09-12 03:23:47
【问题描述】:

我需要从向 MySQL 数据库中插入 20 多行内容的单个查询中取回所有插入的 ID(来自自动递增字段)。到目前为止,我有这样的东西:

INSERT INTO [tablename] ( ... ) VALUES ( ... ), ( ... ), ( ... );

我需要如何修改上述查询以取回所有插入的 ID?

我发现了一些建议使用 DECLARE 的主题,但是当我尝试运行查询时,PhpMyAdmin 总是返回错误。

谢谢!

【问题讨论】:

  • 通过上面的查询,我可以得到第一个插入的 ID 加上受影响的行数,所以我可以这样计算 ID,但问题是结果是否正确。 MySQL 中的查询会被链接起来还是可以并行发生?
  • 我的数据库是 MyISAM 类型的。只是在某处阅读该类型的查询不能同时发生,所以我应该可以根据第一个 ID 和受影响的行计算 ID,对吧?

标签: mysql


【解决方案1】:

MyISAM 应该为您的插入锁定表,所以感觉就像您可以取回一个值并用受影响的行数进行偏移。

为了安全起见,如何添加一个“批处理”列并插入一个基于会话的变量?然后您可以选择具有该值的 ID。不是很好,但是...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2016-11-15
    • 2012-06-20
    • 2011-01-01
    相关资源
    最近更新 更多