【问题标题】:On ALTER TABLE, MYSQL complains about DATA TRUNCATED (Warning: 1265)在 ALTER TABLE 上,MYSQL 抱怨数据被截断(警告:1265)
【发布时间】:2020-12-09 01:59:23
【问题描述】:

我有一个包含一些数据和以下字段的表格:

visits               double               null,
page_per_visits      double               null,
valid_domain         tinyint(1) default 1 not null,
page_hits            int                  null,

现在我正在尝试通过运行来摆脱 NULL:

ALTER TABLE domain_similar_web_v2 
   CHANGE visits visits DOUBLE PRECISION DEFAULT 0 NOT NULL, 
   CHANGE page_per_visits page_per_visits DOUBLE PRECISION DEFAULT 0 NOT NULL, 
   CHANGE page_hits page_hits DOUBLE PRECISION DEFAULT 0 NOT NULL

并得到以下错误:

警告:1265 列 page_hits 的数据在第 1 行的 ALTER TABLE 后被截断

我为 page_hits 尝试了不同的数据类型(BIGINT、FLOAT、DOUBLE PRECISION - 结果相同)。

可能出了什么问题以及如何修复表?

PS。 MariaDB 10.3 下的本地服务器

【问题讨论】:

  • 在你改变之前替换 NULL
  • 并且默认为整数的属性不要使用浮点数据类型。

标签: mysql database-migration


【解决方案1】:

NULLS 必须在 ALTER 之前用 '0' 替换(感谢 nbk)

【讨论】:

    猜你喜欢
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    • 2019-11-17
    相关资源
    最近更新 更多