0
因此,我需要从我的表中选择一个值,并稍微修改它以在插入时用作同一表中新行中的值。请看下图:Mysql从目标表中插入值
INSERT INTO reservationbody(
reservationid,
driverid,
tripnumber,
fromlocation,
tolocation
)
VALUES(
1,
2,
(
SELECT
MAX(tripnumber) + 1
FROM reservationbody
WHERE reservationid = 1
),
'here',
'there'
)
,我发现了以下错误:
You can't specify target table 'reservationbody' for update in FROM clause
我看了一下其他问题,并找到了很多的问题,对这个错误,但他们似乎都约更新和删除,并且都需要已经存在的PK值。没有涉及插入。
基本上我期待在这里的是,如果SELECT MAX(tripnumber) FROM reservationbody where reservationid = 1
返回的值,然后插入应该添加一个新行的一个tripnumber
值5
任何人都可以建议我怎么能做到这一点?
是的,这也适用于MySQL的,因为v4.0.14。 – eggyal
谢谢:)有进入日期格式的问题(得到了超出范围'错误1264'),但它被排序 – Ortund