在建表的时候忘记设主键了。
现在想把所有的表的ID字段设为主键。
有没有语句。不用一个个表打开去设呀。

解决方案 »

  1.   

    show tables; 得到所有的表,
    然后贴到EXCEL中利用EXCEL公式 生成字符串alter table xxxx modify id int primary key.
      

  2.   

    如果ID的类型不统一,有char 有 int 的话,则建议你从 information_schema.`COLUMNS` 得到这些ID的列和类型。SELECT C.`TABLE_NAME`, C.`COLUMN_NAME`, C.`DATA_TYPE` FROM information_schema.`COLUMNS` C
    where TABLE_SCHEMA='test' and COLUMN_NAME='id';然后再到EXCEL中进行操作。如果不想用EXCEL的话,那么就自己写出个存储过程了。
      

  3.   


    那就用EXCEL吧。1分钟就可以结束的事情。show tables;
    复制到excel
    excel 写公式,下拉,复制
    复制回mysql命令窗口。如果你想学习MYSQL的存储过程,你可以先参考一下官方手册中的例子。
    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html