我有一个包含列id,开始,结束,路由的数据库。有没有办法选择最大或前一行结束列值并将其作为新行的开始值插入?
ID Begin End Route
1 1 10 SW
2 10 21 NE
3 21 55 S
我想做的是......
INSERT INTO log ('id', 'begin', 'end', 'route')
VALUES (DEFAULT, MAX('End"), 'xxx', 'xxx')
答案 0 :(得分:0)
您需要MAX
功能来选择最大值。
SELECT MAX(*column name*) AS *alias* FROM *table name*;
sgeddes和Slowcoder为INSERT
语句提供了答案。
答案 1 :(得分:0)
根据您的修改,使用max
insert into select
INSERT INTO log (`begin`, `end`, `route`)
SELECT MAX(`End`), 'xxx', 'xxx'
FROM log
时,此类内容应该有效:
{{1}}
请注意使用反引号与单引号。使用反引号来分隔字段。
答案 2 :(得分:0)
尝试这样的事情。
INSERT INTO log (`id`, `begin`, `end`, `route`) VALUES (DEFAULT, (SELECT MAX(end) from log), 'xxx', "xxx');