DECLARE $IsExists INT DEFAULT 0;
SELECT $IsExists:=$IsExists+1 AS ID...
以上语法是错误的,请问用
SET @IsExists=0;
SELECT @IsExists:=@IsExists+1 AS ID...
用这个就能有一个自增的ID列,
请问@声明的局部变量和DECLARE 声明的局部变量有什么区别?
还有就是怎么能用DECLARE声明的变量实现自增的ID增长?

解决方案 »

  1.   

    还有就是怎么能用DECLARE声明的变量实现自增的ID增长?
    不能@变量可以在SQL语句中使用
      

  2.   

    谢谢大哥,想问一下大哥,怎么能实现类似的方法,因为用@的话没有指定具体的类型,程序到前台,需要强制转换一下,用弱转就会报错,所以我想用DECLARE那样的类型区声明ID列,怎么办?
      

  3.   

    没有办法,将@变量的值赋值给DECLARE 的变量
    DECLARE aa int;
    ...
    SELECT @IsExists:=@IsExists+1 AS ID...;
    set aa=@IsExists;
    ...
      

  4.   

    这样的话是取得最后一条ID的数据,相当于MAX ID。
    希望得到的结果是



    这样的数据。