我有三个数据库,它们都是相同的,但不幸的是,Mysql 的版本都不同(不是我的决定,目前无法更改),只有 MariaDb 10.4 在尝试从某个数据库发送所有数据时会收到错误吗?查看历史表。
INSERT INTO
`destination`.historical_table
SELECT * FROM
`source`.daily_table
两个表上没有触发器,并且标记列具有相同的数据类型 CHAR(1)。 源表实际上是一个 View ,这可能是问题所在吗?它适用于我的其他两个数据库...
最佳答案
更新:所以这实际上是我自己的错,但是 mariahdb 10.4.10 捕获了一个有趣的问题,但 mysql 5.6.33 和 mariahdb 10.1.38 没有捕获。
表定义不相同,两列在源和目标之间切换导致失败。然而,在其他数据库上,他们只是将值截断为正确的大小(从而也插入了不正确的数据)。
更多的是我的错,但有趣且值得注意。
关于mysql - 错误#1046 : Data too long for column but both source and destination columns are of type char(1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59272082/