MySQL - 从Column获取Max值,然后存储在变量

时间:2016-04-13 02:11:19

标签: mysql sql variables max wamp

我正在尝试获取一个人的最大ID号,将其递增一,然后存储在一个变量中。在我将变量初始化为0之前,我一直都是NULL。现在我只是得到0.你能帮助我吗?

--Initialize @Var (probably unnecessary)
SET @Var = 0;

-- Increment Max Value by 1, store in @Var
Select @Var = (MAX(Person_ID) + 1) From Person;

--prints out the value 0????
Select @Var 

2 个答案:

答案 0 :(得分:4)

MySQL使用:=中的SELECT来设置值。所以使用这个:

Select @Var := (MAX(Person_ID) + 1) From Person;

=的使用仅用于布尔表达式。因此SELECT(带=)将返回true / false(1/0),但不会分配任何值。

答案 1 :(得分:0)

我想添加@Gordon Linoff的回答,如果你通过person_id排序并选择第一条记录来检索最新的ID,那么性能会更好:

Select top 1 person_id from person order by person_id DESC