alter table yourtable add id int unsigned not Null auto_increment primary key

解决方案 »

  1.   

    Reve(仨仁仕)回答的正确,就是这条命令可以增加一个子段。 
     acev (acev) 试试吧一定能行
      

  2.   

    to:bombshell
    怎么个正确法?
    他每条记录的id怎么办?
    你是不是想让他们就怎么空着????????
    ft~
      

  3.   

    谢谢各位。
    anybody1(随便编一个) 说的是,能否id自动生成数据呢?
      

  4.   

    我觉得可以先去掉原表中的primary key,再新增加ID字段,然后导入所有的ID数据,再把primary key加上去,不知这样可不可行注:我只是不知道假如表中已有不符合unique index的数据再硬加primary key在MySQL中会如何操作?
      

  5.   

    to:acev
    太麻烦了,如果你想这样的话,还是要建一张表
    那么,还不如
    你说是不是呢?
      

  6.   

    to: anybody1(随便编一个)
    ft
    我试验过了,完全可以。以前的数据id 自动增加。不信自己试验。没时间和你打嘴仗。
    mysql>alter table yourtable add id int unsigned not Null auto_increment primary key;
    to:acev (acev) 
    这个问题我给你回答的你先可以自己建个表试验然后在执行。不要听那些纸上谈兵的,没意思,你说呢?
     
      

  7.   

    错误 SQL 语句 :  [编辑] alter table administrator add idid int unsigned not Null auto_increment primary key
    MySQL 返回:
    Incorrect table definition; There can only be one auto column and it must be defined as a key
    返回
      

  8.   

    to:bombshell
    我不是不认识英文。不需要翻译
    to:acev
    如果你是需要一个自己一个一个从1到n垒加的而不是随机自动生成的id字断
    那你就采用bombshell的方法(不过,安全性很差,呵呵~~)
      

  9.   

    你好:
         anybody1(随便编一个)!
        今天在论坛很高兴遇到你,希望以后大家互相帮助。你好:
        acev!
       我不知道你在表中建id 的目的。如果你是为了让纪录不重复的话。最好设成自动增加,这是最简单的。哈哈!难道你想得到重复的记录吗。
      

  10.   

    我宁愿得到一个12位(比如你的随机数设的是12位)有可能重复的随机数
    也不愿意有一个像您那样的自动生成的id
     
    而且,您说的重复,只要用一个ifelse就可以避免bombshell,您说是不是呢?
      

  11.   

    还有:如果他的表中已经有了一个primary key
    怎么办?
    还有,我说的方法只是一个比较稳妥的办法,并不完全对
    而且,我说的安全问题,同样用脚本也可以避免,关键是
    帖主想怎么去解决的问题了。您说是吗?
      

  12.   

    alter table administrator add idid int unsigned not Null auto_increment primary key
      

  13.   

    to bombshell(水中鱼)
    谢谢你,我按你的语句执行了,成功!
    Query OK, 567 rows affected (0.28 sec)
    Records: 567  Duplicates: 0  Warnings: 0 但id跑到后面去了,不过成功了,谢谢你。
      

  14.   

    如果我又要删除id呢?xixi我增加id后,发现许多连接mysql数据库的程序、网页无法正常运行!
      

  15.   

    to bombshell(水中鱼)
    谢谢你,我按你的语句执行了,成功!
    Query OK, 567 rows affected (0.28 sec)
    Records: 567  Duplicates: 0  Warnings: 0 但id跑到后面去了,不过成功了,谢谢你。
      

  16.   

    1.可以放到前面。具体这样实现:
    mysql>alter table yourtable_name add id int unsigned not Null auto_increment primary key first;2.如果想删掉id 也简单,具体这样实现:
    mysql>alter table yourtable_name drop id ;