刚接触mysql,想把几个表导入到数据库中,结果就遇到了问题。

原始数据是这样的:

1、使用navicat报错:

[ERR] Cannot create table[china_sites_20140516]: 1118 - Row size too large. The maximum row size for theused table type, not counting BLOBs, is 65535. This includes storage overhead,check the manual. You have to change some columns to TEXT or BLOBs

按照这个报错的解决方法是:在这一步手动一个个将type改为text或blob,但表格有近千列…

在群里咨询了下,有人给出这样的解决方案:先定义一个游标,读出所有表名,然后用动态sql语句,改变字段类型。但是我还没有试这种方式。

2、使用mysql的load data infile:

先是新建了一个表,由于待导入的表有近千列,也就是有近千个属性字段,我在新建表格时,只新建了一个字段。

然后,用下面语句导入:

LOAD DATA local INFILE "E:\test.csv"

replace INTO TABLE test

CHARACTER SET gbk

FIELDS TERMINATED BY ","

ENCLOSED BY ""

LINES TERMINATED BY "\r\n"

IGNORE 1 LINES;

结果没报错但出了警告,表格没导入成功:

| Warning | 1262 | Row 1 was truncated; itcontained more data than there were input columns

这句话的意思是导入的表格列数超标,被截断了。

估计是新建表格,只新建了一列的原因,但我不能手动新建近千列字段呀。

3、不完美的解决方案

试着将数据进行缩减,只保留必要数据,然后用navicat向mysql数据库中导入数据。把数据缩减之后,列数还是很多,在导入时还是会报上面的错误,经过观察发现缩减后的数据经过转置之后只有24列,我就把缩减的数据转置后进行导入,成功了。我接着把原始数据也进行了转置,但转置之后也报错,估计还是列数太多了,因为原始数据转置之后也有340列。

4、总结

虽然这个问题,目前没有解决,但我想总结下以后遇到这种摸不着头绪的问题的解决思路。不然像这次我在网上找了各种方法,也实验了各种方法,但都不奏效,一天下来,自己脑袋都晕了。1)借助报错信息,发现问题所在。这点是比较重要的,我刚开始不懂得看报错信息,也不知道从哪里找报错信息,一直纳闷哪里出错了。2)回顾下,软件操作是否正确,代码输入是否符合语法规则。3)有可能是原始数据的问题。由前两点可以看出还是要在基本了解软件操作或代码操作的基础上再进行工作,不然出错了都不知道从哪入手。

2022年更新

回看这篇博文,我现在想到了解决方案,就是修改原数数据的组织方式。

原始数据中type是各个类别,data hour表示时间。

可以将一个类别存为一张表,在这张表中所有站点存为1列。

列数较多的csv文件导入mysql数据库(过程及问题记录)相关推荐

  1. csv导入mysql php实现_PHP实现csv文件导入mysql数据库的方法

    这篇文章主要介绍了PHP编程实现csv文件导入mysql数据库的方法,涉及php文件读取.转换.数据库的连接.插入等相关操作技巧,需要的朋友可以参考下 具体如下: config.db.php内容如下: ...

  2. 收藏!用Python一键批量将任意结构的CSV文件导入MySQL数据库。

    Python有很多库可以对CSV文件和Excel文件进行自动化和规模化处理.但是,使用数据库可以将计算机完成任务的能力提升成千上万倍! 那么问题来了,如果有很多个文件需要导入数据库,一个一个操作效率太 ...

  3. python将csv文件导入mysql-使用python将csv文件导入Mysql数据库

    这是我的代码:#!/usr/bin/python import MySQLdb import csv db = MySQLdb.connect(host="host", # The ...

  4. python亿级mysql数据库导出_Python之csv文件从MySQL数据库导入导出的方法

    Python之csv文件从MySQL数据库导入导出的方法 发布时间:2020-10-26 07:39:02 来源:脚本之家 阅读:53 作者:张行之 Python从MySQL数据库中导出csv文件处理 ...

  5. mysql中导入csv文件_怎么把csv文件导入mysql?

    将CSV文件导入mysql数据库的方法: (1)准备csv文件. 把数据集正确地保存为csv文件即可,保存后的文件名和路径为"D:/train.csv" (2)在数据库中新建一个用 ...

  6. csv导入mysql linux_如何将CSV文件导入MySQL表

    如何将CSV文件导入MySQL表 我有一个未规范化的事件-来自客户端的日记CSV,我试图将它加载到MySQL表中,以便将其重构为正常的格式.我创建了一个名为"CSVImport"的 ...

  7. 将csv文件导入到数据库中

    1.csv文件简介 CSV全称 Comma Separated values,是一种用来存储数据的纯文本文件格式,通常用于电子表格或数据库软件.这样你就发现了,csv其实就是纯文本文件,可以使用记事本 ...

  8. navicat 导入csv未响应_使用navicat将csv文件导入mysql

    本文为大家分享了使用navicat将csv文件导入mysql的具体代码,供大家参考,具体内容如下 1.打开navicat,连接到数据库并找到自己想要导入数据的表.数据库表在指定数据库下的表下. 2.右 ...

  9. csv文件导入Mysql

    本篇博客主要讲将csv文件导入Mysql的方法(使用命令行). Step1:csv文件的准备 1.首先看一下我本次导入的数据,比较简单: (1)在数据库中首先建立了一个名为"test&quo ...

最新文章

  1. Cento7+Nginx 之 URL重写
  2. 几个书本上不常见到的C语言函数
  3. 如何实现运行时刻的多态?(c++)
  4. Python技术分享:numpy库的安装教程
  5. xhtml文件的后缀名是什么?
  6. Divide and conquer:Drying(POJ 3104)
  7. 图片预览------photoswipe 使用
  8. WEB前端响应式布局之BootStarp使用
  9. java-集合(三)
  10. i2c传输距离_使用 ToF 传感器进行距离测量和手势识别的基本原理
  11. Hinton:今年AI没有重大突破,但三件事值得关注
  12. 权重尺寸的计算,张量(图像)的尺寸,以及卷积神经网络(CNN)中层参数的计算,以及FC的维度卷积替代方案
  13. 解决使用百度地图默认定位是北京的问题
  14. 分享一个xshell7的绿色版
  15. 智慧工地工人实名制管理整体解决方案
  16. PHP+新浪微博开放平台+新浪云平台(SAE)
  17. pytho_抓取下载音乐歌曲
  18. vue将文件图片批量打包下载zip
  19. 华为路由交换设备配置综合实验(实验六合一)
  20. 7 月 24 号张小龙内部讲座《通过微信谈产品》

热门文章

  1. python绘图subplots函数使用模板
  2. PAT甲级1003 Emergency:[C++题解]dijkstra求最短路、最短路条数
  3. java sendmessage_SendMessage()复制/剪切/粘贴WM_COPYDATA 0x004A
  4. java 单字节_java文件读取。(单字节读取和按行读取读取)
  5. 安卓来电归属地_如何做一名突出的iPhone用户?安卓勿进!
  6. hbase 客户端_全网最细致的 HBase 内核解析
  7. 计算机应用基础操作题教学考试,电大教学全国计算机应用基础考试网考内容全部操作题.doc...
  8. mysql批量修改http为https,墨涩网 - typecho系统升级全站https数据库批量替换网址/内容——墨涩网...
  9. Qt配置GUI程序控制台输出
  10. 粘包的原因分析及解决