mysql - 错误#1046 : Data too long for column but both source and destination columns are of type char(1)

标签 mysql mariadb

我有三个数据库,它们都是相同的,但不幸的是,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/

相关文章:

mysql - 如何搜索包含子字符串的行?

MySQL 5.5 错误号 : 150 "Foreign key constraint is incorrectly formed"

mysql - 在 mysql 中将查询结果转换为十进制

javascript - 标记不显示在谷歌地图 API 上

mysql - 如何每隔一小时自动将Mongodb数据导出到Mysql?

mysql - MariaDB Innodb_buffer_pool_size 基于系统内存

mysql - 错误 1064 (42000) : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version error

mysql - 可以在同一个数据库上混合存储引擎吗?

mysql - 为什么 MYSQL Desc 命令显示 char 而不是 nchar?

MySQL右外连接空值,所有用户的排名(排名)