db中有很多表,包括a表
a表有很多字段,包括field字段
..
如果a表的field字段为int,则将其类型改为float.
怎么写?

解决方案 »

  1.   


    表不多,不超过20个,表中字段也不多.就是想通过sql来实现
      

  2.   

    你既然想改表结构, 也只能通过存储过程来实现了。
    单条SQL是无法实现的。
      

  3.   

    就是 类似这种:
    ALTER TABLE a CHANGE field field FLOAT WHERE TYPE=INT
      

  4.   

    如果 你要判断如果a表的field字段为int,,必须用SP
      

  5.   

    MYSQL中没有这种操作方法,其它已知数据库产品也没听说守类似的语句。一般是通过程序来实现,如果仅是一次性工作,则可以从INFORMATION_SCHEMA.COLUMNS表中得到所有表名及其中的字段名和字段类型,然后你可以在EXCEL中利用公式生成SQL语句。
      

  6.   


    感谢大神们的回复.最后是我们头解决的:
    SHOW COLUMNS FROM Table_name WHERE field ='field' AND TYPE='int';  查询后满足条件执行更改语句