我正在尝试获取一个人的最大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
答案 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