【问题标题】:Change INT Default value of mysql(phpmyadmin) in mysql version 5.7.2在 mysql 版本 5.7.2 中更改 mysql(phpmyadmin) 的 INT 默认值
【发布时间】:2018-08-10 13:25:02
【问题描述】:

目前,我有 MySQL 5.6 版本。在这个版本中,INT 类型列将自动取 0,即使默认值为 none。

列 = question_status,类型 = INT,默认值 = 无

旧查询:INSERT INTO tbl_question (question_status) VALUES ('');

上述查询将在我的旧版本上完美运行。

现在,我已将数据库导入到更新版本的 MySQL 5.7.2

新查询:INSERT INTO tbl_question (question_status) VALUES ('');

上面的查询是相同的,但它说我必须更改列的默认值,因为列数据类型是INT。

如果我将在较新版本中手动将默认值更改为 0。它会完美运行。

问题是我在数据库中有大约 100 个表和许多 INT 类型列,所以我无法一一更改每一列的默认值。

【问题讨论】:

    标签: mysql phpmyadmin


    【解决方案1】:

    您可以使用此查询选择所有具有 INT 类型的列:

    SELECT * FROM information_schema.columns WHERE table_schema = '<YOUR_DB>' data_type = 'INT'
    

    那么编写一个简单的大规模改动脚本就很容易了。

    【讨论】:

    • 就像我说的我有这么多列,6 分钟后它仍在加载选择查询。有没有办法配置mysql默认值?
    • 尝试设置 innodb_stats_on_metadata=0 。它应该使对 information_schema 的查询工作得更快。
    • 它显示了所有的数据库字段。我想要选择数据库。
    • 然后将 table_schema = 'YOUR_DB' 添加到查询的 WHERE 部分。
    猜你喜欢
    • 2018-02-23
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多