MySQL load数据的小问题处理
时间:2011-09-09
来源:互联网
             -- =====================================================
-- MySQL load数据的小问题处理
-- =====================================================
对于字段类型date,load data infile时,如果不指定相应的FIELDS参数,错误的将日期用单引号引起来会导致插入错误的日期
mysql> show create table a;
+-------+------------------------------------------------------------------------------------------------------------
---------------------------------+
| Table | Create Table
|
+-------+------------------------------------------------------------------------------------------------------------
---------------------------------+
| a | CREATE TABLE `a` (
`id` int(11) NOT NULL DEFAULT '0',
`bd` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+-------+------------------------------------------------------------------------------------------------------------
---------------------------------+
1 row in set (0.00 sec)
load的数据内容:
1 2009-10-1
2 '2008-12-2'
load结果:
mysql> load data infile 'a.txt' into table a;
Query OK, 2 rows affected, 1 warning (0.01 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 1
mysql> select * from a;
+----+------------+
| id | bd |
+----+------------+
| 1 | 2009-10-01 |
| 2 | 0000-00-00 |
+----+------------+
2 rows in set (0.00 sec)
如果使用正确的FIELDS参数能得到正确的结果:
mysql> load data infile '/home/ddb/naturally/si-node/pmysql/a.txt' into table a FIELDS TERMINATED BY '\t' ENCLOSED BY
'\'' ESCAPED BY '\\';
Query OK, 2 rows affected (0.02 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from a;
+---注释-+------------+
| id | bd |
+----+------------+
| 1 | 2009-10-01 |
| 2 | 2008-12-02 |
+----+------------+
2 rows in set (0.00 sec)
【】mysql的load操作基本不做对于字段类型的检查以及转换,这也是为什么load数据的速度会是insert的几倍,也就要求了在使用
load操作的时候要注意,特别小心,防止出现意想不到的错误
            -- MySQL load数据的小问题处理
-- =====================================================
对于字段类型date,load data infile时,如果不指定相应的FIELDS参数,错误的将日期用单引号引起来会导致插入错误的日期
mysql> show create table a;
+-------+------------------------------------------------------------------------------------------------------------
---------------------------------+
| Table | Create Table
|
+-------+------------------------------------------------------------------------------------------------------------
---------------------------------+
| a | CREATE TABLE `a` (
`id` int(11) NOT NULL DEFAULT '0',
`bd` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+-------+------------------------------------------------------------------------------------------------------------
---------------------------------+
1 row in set (0.00 sec)
load的数据内容:
1 2009-10-1
2 '2008-12-2'
load结果:
mysql> load data infile 'a.txt' into table a;
Query OK, 2 rows affected, 1 warning (0.01 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 1
mysql> select * from a;
+----+------------+
| id | bd |
+----+------------+
| 1 | 2009-10-01 |
| 2 | 0000-00-00 |
+----+------------+
2 rows in set (0.00 sec)
如果使用正确的FIELDS参数能得到正确的结果:
mysql> load data infile '/home/ddb/naturally/si-node/pmysql/a.txt' into table a FIELDS TERMINATED BY '\t' ENCLOSED BY
'\'' ESCAPED BY '\\';
Query OK, 2 rows affected (0.02 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from a;
+---注释-+------------+
| id | bd |
+----+------------+
| 1 | 2009-10-01 |
| 2 | 2008-12-02 |
+----+------------+
2 rows in set (0.00 sec)
【】mysql的load操作基本不做对于字段类型的检查以及转换,这也是为什么load数据的速度会是insert的几倍,也就要求了在使用
load操作的时候要注意,特别小心,防止出现意想不到的错误
作者: mchdba 发布时间: 2011-09-09
             INSERT 的时候也会成功的,MySQL的日期类型是一种弱数据类型,性能提高不在此.....而是批量提交的地方....            
            作者: jinguanding 发布时间: 2011-09-09
 相关阅读 更多  
      
    热门阅读
-  
 office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
          阅读:74
 -  
 如何安装mysql8.0
          阅读:31
 -  
 Word快速设置标题样式步骤详解
          阅读:28
 -  
 20+道必知必会的Vue面试题(附答案解析)
          阅读:37
 -  
 HTML如何制作表单
          阅读:22
 -  
 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
          阅读:31
 -  
 ET文件格式和XLS格式文件之间如何转化?
          阅读:24
 -  
 react和vue的区别及优缺点是什么
          阅读:121
 -  
 支付宝人脸识别如何关闭?
          阅读:21
 -  
 腾讯微云怎么修改照片或视频备份路径?
          阅读:28
 















