2013-04-10 62 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