书本管理表A,,3个字段,ID,OID和name。 
其中ID是此表的ID,int型自动增长; 
OID的意义是书本ID(字符串),现在暂时规定OID等于字符B加上ID(把ID先转成字符串); 
name是书本名,字符串。 现在要插入一本书名为“我是菜鸟”的书。怎么实现触发器? 或者用其他方法也可以

解决方案 »

  1.   

    直接替换不行?
    update aa set 
       oid=concat('B',right('000000'+cast(a.aid as char),8)) 
      

  2.   

    貌似不行啊,insert后update同表会报错的好像
      

  3.   

    MYSQL触发器不能对同表进行操作,你是用触发器?
      

  4.   

    恩,触发器怎么做?WWWWA您是什么意思,难道是java程序里面先insert,再select读取自动生成的ID值,再update,那太麻烦了
      

  5.   

    因为你的ID是自增,如是单机,可以直接生成,在网络上用last_insert_id()取值,再UPDATE
      

  6.   

    呵呵,已经说过,MYSQL触发器不能对同表进行操作
      

  7.   

    那么用临时表,中间表之类的呢?有没有其他数据库端的方法?
    难道mysql就那么傻吗?
      

  8.   

    一样要用两次,因为ID是自增,又是网络,否则可用MAX(ID)+1,没有办法