导入文本数据到mysql

报错:ERROR 1406 (22001): Data too long for column ‘comment’ at row xx
原因:'comment’列xx行的内容太长,超过了我们预先定义表的长度

思路一:内容很重要,需要全部保留,那么就扩展列的大小或者更改列的类型

方法:如果一开始定义的是char/varchar类型,那么可以扩展类型的大小,但是建议用可变长度的数据类型,如text、mediumtext或longtext

MySQL数据类型 含义
char(n) 固定长度,最多255个字符
varchar(n) 固定长度,最多65535个字符
tinytext 可变长度,最多255个字符
text 可变长度,最多65535个字符
mediumtext 可变长度,最多2的24次方-1个字符
longtext 可变长度,最多2的32次方-1个字符

思路二:内容太长可以被截断,如果超长则自动截断

方法:
1.查询当前sql的模式: select @@sql_mode;
2.设置sql的模式: set sql_mode=`ANSI`;

mode 作用
最宽松的模式, 即使有错误既不会报错也不会有警告️
ANSI 宽松模式,对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,报warning警告
TRADITIONAL 严格模式,当向mysql数据库插入数据时,进行数据的严格校验,保证错误数据不能插入,报error错误。
STRICT_TRANS_TABLES 严格模式,进行数据的严格校验,错误数据不能插入,报error错误
import py mysql #创建连接 con = py mysql .connect(host='localhost',user='root',password='123456',port=3306, data base='zhy') #创建游标对象 cur = con.curson() #编写查询的 sql 语句 sql = 'select * from t_student' cur.execute( sql ) print(查询成功) students = cur.fetchall() print(students) except Exception as
这个错误信息表明,在插入行时,你尝试插入的值在 数据库 表中的某一列中太长了,超过了其允许的最大长度。这意味着你必须将值调整为在该列中存储的长度。这可能是由于你尝试将一个过长的字符串插入到了只允许短字符串的列中,或者你尝试将一个过大的数字插入到了只允许较小数字的列中。 而这一次我遇到的问题是第三个页面乱码,所以此篇文章主要围绕页面乱码来讲。主要是各种解决办法的集合以及解决过程中出现的新问题和其解决方法。 其他两种乱码情况均可在网上搜到。 原因分析: 页面乱码,主要与 数据库 编码格式有关。 完成这样项目首先要在 数据库 导入 两张表, 导入 两个 sql 文件后,由于我并没有发现表及表的内容有任何缺少,而没有注意到我第二个 sql 文件 导入 并不是完全成功的,
最近 导入 数据 的时候,总是 报错 :java. sql . SQL Exception: 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...
在前端输入一串 数据 后台 数据库 进行crud操作时,报出 Data too long for column ‘’ at row 很有可能是你的 数据库 表里的类型大小设置的太小。 我们举一个常见的注册为例 注册一个10个字符串长度的用户名(默认注册表已填完整无误,且用户名没被占用) 发现后台报出异常 再到 数据库 通过desc table_name; 查看发现vachar为6, 在把varchar长度修...
可用平台: Windows 当前版本: v3.7 EMS Data Import:trade_mark: for MySQL 是一款交叉平台的 数据库 工具,它用于快速将 数据 导入 至您的 MySQL :registered:表中,支持的 导入 文件包括MS Access (只支持Windows:registered: 版本), DBF, XML, TXT 和 CSV。它提供 导入 参数调整,包括:为所有的字段指定源 数据 格式、为选定的字段指定目标 数据 格式、更新 数据库 选项、跳过的记录条数等。 Data Import for MySQL 包含了一个操作向导,您可以直观的设定所有从不同文件 导入 数据 的选项,它还提供了命令行工具,您只需一步操作便可执行 数据 导入
解决出现Incorrect integer value: ” for column ‘id’ at row 1的问题 今天在学习Python的过程中操作 数据库 ,遇到了一个问题,执行 sql 语句插入 数据 的时候 报错 Incorrect integer value: ” for column ‘id’ at row 1 我的 数据库 设计是这样的: 一个很简单的用户信息表,其中ID是int类型,自动填充的主键,其他两个非主键,我执行的insert语句是这样的: mysql .db_insert(“insert into userinfo values(”,’sven’,’111222′,’sven@q