添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
微醺的红茶  ·  php linux ...·  8 月前    · 
魁梧的葫芦  ·  yql - No weather data ...·  2 年前    · 

mysql报错:1406, "Data too long for column

pymysql.err.DataError: (1406, “Data too long for column ‘songlist_url’ at row 1”)
查看网上资料有说因为数据库中设置的字符长度不够,我加长了以后依然会报错。另一种说法是由于输入了中文,编码出现了问题。

查看MySQL的status;,发现:

Server characterset: latin1 Db characterset: latin1 Client
characterset: latin1 把latin1改换成utf8编码:

mysql> set character_set_client=utf8 ; mysql> set
character_set_connection=utf8 ; mysql> set character_set_database=utf8
; mysql> set character_set_server=utf8 ;

然后再用status;查看,编码转为utf8了,再继续运行…

但还是报错:pymysql.err.DataError: (1406, "Data too long for column)

在stackoverflow找到了方法

在MySQL中设置这个:

mysql> SET @@global.sql_mode= ‘’;
就可以运行了!!

MySQL will truncate any insert value that exceeds the specified column
width. to make this without error try Switch your MySQL mode to not
use STRICT.
意思大概是MySQL将截断超过指定列宽度的任何插入值。为了让这个不报错,你可以尝试切换你的MySQL模式不使用严格模式。

mysql报错:1406, "Data too long for columnpymysql.err.DataError: (1406, “Data too long for column ‘songlist_url’ at row 1”)查看网上资料有说因为数据库中设置的字符长度不够,我加长了以后依然会报错。另一种说法是由于输入了中文,编码出现了问题。查看MySQL的status;,发现...
最近导入数据的时候,总是 报错 :java.sql.SQLException: Data truncation: Data too long for column '***' at row 1 Query,查询好久,才发现是 数据库 的字符集出错。整理了一下,解决方案为一下几种.。 第一种解决办法: 出自:http://www.blogjava.net/zoninge/archive/2...
今天设计了一张表 其中一个字段我设置的类型是 text 类型的 ,按照正常的情况下text 是不限制长度的,因此插入了一段很长的txt内容 ,结果出现了 悲剧性的事情,提示了 数据太长 Data too long for column '......' at row 1这就很尴尬了,百度了半天,有去改配置的,有去改编码的,最后没有一个有效的。 那么好吧,还是先去看看数据结构吧 tex...
今天用 MySql 数据库 打算插入几个数据,大约有几千个汉字左右,插入的时候出现了这个错误。 1406 - Data too long for column ‘deintro’ at row 1 问题原因: 开始设置的数据类型为varchar,要输入的数据较多 插入的数据比数据类型大,会被截断时,就会 报错 ,无法插入。 解决办法: 后来我把varchar数据类型换成了mediumtext。 这样就不会 报错 了。 新的问题: mediumtext类型长度无法更改,数据表中长度为0,改成别的值保存仍为0。
使用命令行方式登陆到 MySQL 服务器, 建立一个 数据库 数据库 编码设为UTF-8。此时,如果直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 (22001): Data too long for column 'name' at row 1 错误。乍一看,是字段长度引起的问题,但是实际是字符编码的问题。可是尝试以下解决方法: 1、在Linux中,使用终端...
err := tx.Create(&cwsh).Error 在执行Create插入语句的时候,测试环境没遇到 报错 ,但是生产环境报了 1406 异常,查了一下原来是生产环境和测试环境的 mysql 配置不同; 网络上找到的解决错误的方法是: 在my.ini里找到 sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION” 把其中的STRICT_TRANS_TABLES,去掉, 或者把sql-mode=STRICT.
### 回答1: 这个错误提示意味着数据太长,无法在目标列中存储。这通常发生在尝试向 数据库 的某个列插入较长的字符串或值时。 MySQL 数据库 在默认情况下将每个列的长度限制为65,535个字符,因此在插入超出该限制的数据时,会出现“ data too long for column ”的错误提示。 要解决这个问题,有几种方法可以尝试。一种方法是重新设计 数据库 表,以便在插入要存储的数据时为列提供更大的空间。可以通过更改列的数据类型、增加列的长度或删除其他列来扩大列的空间。 另一种方法是调整要插入的数据的大小,使其适合列的限制。这可以通过缩短要插入的字符串或分割较大的值来实现。 最后,您还可以考虑使用 MySQL 文本数据类型来存储较长的数据。这些数据类型包括VARCHAR(max)或TEXT,可以存储超过65,535个字符的数据。但是,使用这些数据类型还需要考虑更高的存储需求和查询速度。 ### 回答2: 当我们在使用 数据库 时,有时候会遇到一些问题,比如出现" 1406 - data too long for column "的错误提示。这个错误提示一般出现在我们往 数据库 里面插入数据时,其中一个字段的数据太长而无法插入时,就会显示这个错误。 这个问题的根本原因是在 MySQL 数据库 中,每个字段都有数据类型和长度的限制。如果我们往一个字段中插入的数据长度超出了这个长度限制,就会出现" 1406 - data too long for column "的错误提示。 解决这个问题的方法很简单,我们只需要检查我们往 数据库 中插入的数据是否符合相应字段的长度限制即可。如果数据超出了限制,我们可以采取以下几种方法来解决这个问题: 1. 修改相应字段的长度限制。 我们可以通过ALTER TABLE语句来修改 数据库 中相应字段的长度限制。比如,我们可以执行如下语句来将一个字段的长度限制从10个字符改为20个字符: ALTER TABLE table_name MODIFY column _name VARCHAR(20); 这样就可以解决" 1406 - data too long for column "的问题了。 2. 截断数据。 如果我们不想修改字段的长度限制,也可以将数据截断成符合字段长度限制的大小,再插入到 数据库 中。比如,如果我们要插入的数据超出了一个字段的长度限制,我们可以将数据截断到这个长度限制的大小,然后再插入到 数据库 中。 3. 检查数据是否有效。 有时候,我们往 数据库 中插入的数据并不是我们想要插入的数据,而是一些无效或者不合法的数据。所以,在出现" 1406 - data too long for column "的错误提示时,我们还应该检查我们要插入的数据是否有效,是否符合相关的数据类型和长度限制。 总之,当出现" 1406 - data too long for column "的错误提示时,我们应该首先检查我们要插入的数据是否符合相应字段的长度限制,如果不符合,我们可以通过修改字段长度、截断数据或者检查数据是否有效等方法来解决这个问题。 ### 回答3: 在 MySQL 中,通常会出现一种错误称为“ 1406 - 数据过长,不适合列”,这个错误会在我们尝试插入数据时出现。这种错误通常意味着我们试图将数据插入到一个太小的列中,而这个列的最大长度已经被固定。这个错误有好几种解决方法。 首先,我们需要确认我们尝试插入的数据类型和列的数据类型是否一致。如果列是varchar(10),我们就不能插入一个长度大于10的字符。因此,如果我们试图插入比列文本限制长的数据,系统会提示数据太长错误。因此,我们需要修改数据或列的长度,以使其适合列的大小。 其次,我们可以在 mysql 命令行界面上使用desc命令来查看列数据类型和大小。如果我们要改变列的大小,我们可以使用alter table命令修改列的大小。使用此命令时,需要确保没有任何数据插入列。如果需要处理数据插入问题,需要使用两个步骤,先对表进行重命名,然后使用alter table命令更改列,最后再使用insert into语句将数据插入到新表中。 最后,我们可以通过修改列的数据类型来解决这个错误。如果插入的数据类型不是字符串类型,可以将列设置为相应数据类型的数字类型。例如,如果我们要插入日期,可以使用日期类型列。 总之,通过上述方法可以解决“ 1406 - 数据过长,不适合列”的错误。需要记住的是,我们需要始终确保我们的数据适合表的列大小和类型。