IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]--------------------------------------MYSQL批量修改字段类型---------------------------------

    fredrickhu发表于 2012-06-08 11:13:27
    love 0

    SELECT
    CONCAT('alter table ',table_name,' ALTER COLUMN ',column_name,' SET DEFAULT NULL;') as col ,TABLE_NAME,COLUMN_NAME,DATA_TYPE
    FROM
    INFORMATION_SCHEMA.columns a
    WHERE
    TABLE_SCHEMA='TEST' -- 代表所在的数据库
    AND
    data_type in('varchar','char')
    AND
    NOT EXISTS(SELECT 1 FROM KEY_COLUMN_USAGE WHERE TABLE_SCHEMA='TEST' AND CONSTRAINT_NAME='PRIMARY' AND TABLE_NAME=A.TABLE_NAME AND COLUMN_NAME=A.COLUMN_NAME)

    MYSQL整来整去就是那些系统表,拼吧。

    --- 下面是MYSQL查询所在数据不是主键的列

    SELECT
    TABLE_NAME, -- 表名

    COLUMN_NAME, -- 字段名

    DATA_TYPE -- 字段类型
    FROM
    `COLUMNS` A
    WHERE
    TABLE_SCHEMA='honghui2'
    AND
    NOT EXISTS(SELECT 1 FROM KEY_COLUMN_USAGE WHERE TABLE_SCHEMA='honghui2' AND CONSTRAINT_NAME='PRIMARY' AND TABLE_NAME=A.TABLE_NAME AND COLUMN_NAME=A.COLUMN_NAME)



沪ICP备19023445号-2号
友情链接