2013-04-10 39 views
0

我有一個包含兩個整數列的表。 一個自動增加索引號碼和號碼。在MySQL期間從其他數據集檢索值INSERT

我想要做的是插入一個新行,並使用索引號最高的行的數值。

我想象的是這樣的:

INSERT INTO `table`(`number`) VALUES (select `number` from `table` ORDER BY `index` DESC LIMIT 1) 
+0

爲什麼不'INSERT INTO myTable的VALUES(SELECT MAX (indexNumberColumnName)FROM mytable)' – 2013-04-10 22:21:39

回答

0

我想你會張貼工作查詢。這是另一種方法:

INSERT INTO `table`(`number`) 
    SELECT MAX(`number`) 
    FROM `table` 
    WHERE `index` = (SELECT MAX(`index`) FROM `table`) 

我不確定它是否更快,但是您可以驗證。

SELECT MAX(number)防止多於一個的值被返回,如果,例如,最高值index是999和多個行具有index值的999