代码之家  ›  专栏  ›  技术社区  ›  DLH

在MySQL中更改列数据类型时如何保留数据?

  •  5
  • DLH  · 技术社区  · 14 年前

    例如,假设我有一个 TINYINT 要更改为 ENUM . 是否可以编写一个MySQL查询,在映射现有数据时更改列的数据类型,以便(例如) 0 变成 No , 1 变成 Yes ,和 2 Maybe ?

    3 回复  |  直到 14 年前
        1
  •  7
  •   stark    14 年前

    1. 添加具有新名称的新类型的新列
    2. 设置新列值(给定旧列值)
    3. 删除旧列
    4. 将新列重命名为与旧列同名
        2
  •  1
  •   SorcyCat    14 年前

        3
  •  0
  •   Ambuj    6 年前

    添加新列、在新列中设置数据、删除旧列、重命名新列

    Use [Databasename]
    Go
    ALTER table [tableName]
    Add [newColumnname] datatype
    GO
    Update [tableName] SET [newColumnname] = [oldColumnname]
    GO
    ALTER table [tableName] Drop Column [oldColumnname]
    GO
    EXEC sp_RENAME 'tableName.newColumnname' , 'oldColumnname', 'COLUMN'
    GO