【问题标题】:How do I change the data type for all columns in MySQL?如何更改 MySQL 中所有列的数据类型?
【发布时间】:2016-05-26 19:39:57
【问题描述】:

我想更改表 mysql 中所有列的数据类型。 例如 varchar 加倍。

【问题讨论】:

  • 好..然后改变它。
  • 我想我也想在我的专栏中这样做......谢谢你的好主意!
  • 如果要对所有varchar 列执行此操作,可以编写一个存储过程,从INFORMATION_SCHEMA.COLUMNS 获取列,然后使用ALTER TABLE 查询创建动态SQL。跨度>

标签: mysql sql


【解决方案1】:
alter table myTable alter column vColumn int;

只要:

-所有数据都适合 int

-所有数据都可以转换为int(即“car”的值将失败)

-没有包含 vColumn 的索引。如果有索引,您将需要添加一个 drop 并创建它们以使它们回到原来的位置。

【讨论】:

    【解决方案2】:
    1. 可以使用 SQL 命令ALTER TABLE MODIFY COLUMN 更改列类型(但是,它不适用于每个 DBMS)。
    2. 通常无论如何您都必须删除数据,因此另一种选择是DROP TABLE(=完全删除它)并使用所需的列重新创建(使用CREATE TABLE)。您也可以只删除单个列 (ALTER TABLE DROP COLUMN),然后添加一个具有新定义的新列 (ALTER TABLE NEW COLUMN)。
    3. 当然,只要该列未在任何约束或键中使用,更改列就是如此简单
    4. 以上命令的语法见MySQL docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-24
      • 2015-02-17
      • 2019-06-18
      • 1970-01-01
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 2016-09-08
      相关资源
      最近更新 更多