关于修改auto_increment的问题
mysql语句如下:
set @a=1234;
select @a as row;
alter table table_name set auto_increment=@a;
第一第二行能运行,第三行就提示语法,错误.
问题是,如果要设置auto_increment的值等于某个变量值时,怎么实现呢?

解决方案 »

  1.   

    无法直接使用。你需要使用PREPARE来的执行包括SQL语句的字符串。详见手册中的PREPARE的例子。
      

  2.   

    在存储过程里有prepare 实现.
      

  3.   

    set @aql=concat('alter table table_name set auto_increment=',@a);
    prepare stml from @asql;
    execute stml;
      

  4.   


    alter table table_name auto_increment=@a; 应该是这样的,楼主语法也错误;
      

  5.   

    以下SQL语句可以被用在预制语句中:CREATE TABLE, DELETE, DO, INSERT, REPLACE, SELECT, SET, UPDATE和多数的SHOW语句。目前不支持其它语句。
    ......
      

  6.   

    结合ACMAIN_CHM,WWWWA,mr_mablevi三位提示,现改为如下形式set @a=1234;
    set @aql=concat('alter table table_name auto_increment=',@a);
    prepare stml from @asql;
    execute stml;
    能够成功运行,谢谢三位.
      

  7.   


    prepare stml from @aql;