【发布时间】:2012-11-05 13:13:01
【问题描述】:
我需要在同一个表中创建两个在插入时创建唯一值的 id 列。由于 MySQL 只允许一列自动递增,因此我需要对另一列执行 max(id)+1 之类的操作。
这是我期望的 SQL:
INSERT INTO invoices (invoiceid)
VALUES ((SELECT MAX(invoiceid)+1 FROM invoices))
select 语句独立工作,但在我的 INSERT 中是不允许的。我收到错误消息:您无法在 FROM 子句中指定目标表“发票”进行更新
【问题讨论】:
-
您知道这在多笔交易中无法正常工作吗?
-
您是否尝试过使用变量?这意味着将 2 个查询作为一个提交。dev.mysql.com/doc/refman/5.0/en/user-variables.html
标签: mysql