我的查询如下所示:
INSERT INTO table1 (lfd, somedata)
select (select max(lfd) + 1 from table1), somedata from table2
Table2 有多行。所以我想将多行插入table1。这可行,但 lfd 为所有插入的行设置为相同的数字。
因此,如果插入的第一行的 max(ldf) + 1 为“2”,那么接下来的所有行也为“2”。这是不正确的,因为下一行的 max(lfd) + 1 当然应该返回“3”。
如何告诉 mysql 重新评估每个插入的子查询?
我无法触及表结构,因为我将数据从一个 php-gallery 迁移到另一个不同的 php-gallery。表的结构在应用程序的控制之下。
在 Oracle 中,我将简单地定义一个序列并在子选择中选择 squeencename.nextval。- 我很确定这会起作用,但据我所知,mysql 不提供序列,对吧?