我想insert一条记录,用insert into tablename(a1,a2,a3) values (1,"bb",select max(a3)+1 from tablename),总是不行,
当然,我不想把a3 设成自动增长型.我要手工维护.
用insert into tablename(a3)  select max(a3)+1 from tablename)就可以.
有谁能解答.

解决方案 »

  1.   

    插入是一行,
    可以把变量放进子查询里面吧...
    试试
    insert into [tablename](a1,a2,a3) select 1,'bb',max(a3) from [tablename]
      

  2.   

    语法不正确!使用values关键字,内容只能是一个常量、变量或表达式。表达式不能包含 SELECT 或 EXECUTE 语句可是这样实现
    insert into tablename select 1,"bb",max(a3)+1 from test
      

  3.   

    语法不正确!使用常量表达式时,表达式不能包含 SELECT 或 EXECUTE 语句。
    这样就正确了
    insert into tablename select 1,'bb',max(a3) from tablename