将其他列数据插入新行

时间:2014-12-01 19:46:09

标签: mysql sql

我有一个包含列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')

3 个答案:

答案 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');