gpt4 book ai didi

mysqlimport,如何进行正确的文本加载?

转载 作者:行者123 更新时间:2023-11-29 06:54:58 25 4
gpt4 key购买 nike

我是 MySQL 新手。我以这种方式创建了表

CREATE TABLE mail
(
t DATETIME, # when message was sent
srcuser VARCHAR(8), # sender (source user and host)
srchost VARCHAR(20),
dstuser VARCHAR(8), # recipient (destination user and host)
dsthost VARCHAR(20),
size BIGINT, # message size in bytes
INDEX (t)
);

当我后来执行此操作时

mysqlimport -p --local cookbook mail.txt
Enter password:
cookbook.mail: Records: 5 Deleted: 0 Skipped: 0 Warnings: 30

我现在有邮件表

+---------------------+---------+---------+---------+---------+---------+
| t | srcuser | srchost | dstuser | dsthost | size |
+---------------------+---------+---------+---------+---------+---------+
| 2014-05-11 10:15:08 | barb | saturn | tricia | mars | 58274 |
| 2014-05-12 12:48:13 | tricia | mars | gene | venus | 194925 |
| 2014-05-12 15:02:49 | phil | mars | phil | saturn | 1048 |
| 2014-05-12 18:59:18 | barb | saturn | tricia | venus | 271 |
| 2014-05-14 09:31:37 | gene | venus | barb | mars | 2291 |
| 2014-05-14 11:52:17 | phil | mars | tricia | saturn | 5781 |
| 2014-05-14 14:42:21 | barb | venus | barb | venus | 98151 |
| 2014-05-14 17:03:01 | tricia | saturn | phil | venus | 2394482 |
| 2014-05-15 07:17:48 | gene | mars | gene | saturn | 3824 |
| 2014-05-15 08:50:57 | phil | venus | phil | venus | 978 |
| 2014-05-15 10:25:52 | gene | mars | tricia | saturn | 998532 |
| 2014-05-15 17:35:31 | gene | saturn | gene | mars | 3856 |
| 2014-05-16 09:00:28 | gene | venus | barb | mars | 613 |
| 2014-05-16 23:04:19 | phil | venus | barb | venus | 10294 |
| 2014-05-19 12:49:23 | phil | mars | tricia | saturn | 873 |
| 2014-05-19 22:21:51 | gene | saturn | gene | venus | 23992 |
| 0000-00-00 00:00:00 | NULL | NULL | NULL | NULL | NULL |
| 2014-05-11 10:15:08 | NULL | NULL | NULL | NULL | NULL |
| 2014-05-12 12:48:13 | NULL | NULL | NULL | NULL | NULL |
| 2014-05-12 15:02:49 | NULL | NULL | NULL | NULL | NULL |
| 0000-00-00 00:00:00 | NULL | NULL | NULL | NULL | NULL |
+---------------------+---------+---------+---------+---------+---------+

这是我的txt文件

t                    srcuser  srchost  dstuser  dsthost    size 
2014-05-11 10:15:08 holmes saturn tricia mars 99974
2014-05-12 12:48:13 ines mars gene venus 94902
2014-05-12 15:02:49 phica mars phil saturn 81048

我的命令行和文本文件出了什么问题?为什么我有这些 NULL

最佳答案

第一行 NULL 是文件的标题行,最后一行是因为文件末尾有一个空行。

三个内部行仅正确设置了 t 值,因为 MySQL 期望输入文件中的值以逗号分隔,并且它们由其他内容分隔(tab 字符,我猜)在输入文件中。

因为它找不到分隔符,所以它认为输入文件只包含一列 (t),并用 NULL 填充其余部分。

您可以提供mysqlimport所需的信息来成功解析您的文件:

  • --ignore-lines 1 -- 忽略标题行;
  • --fields-termerated-by '\t' -- 我假设文件中的值由 tab 分隔;
  • 可以使用文本编辑器手动删除输入文件末尾的空行。

命令行是:

mysqlimport -p --local --ignore-lines 1 --fields-terminated-by '\t' cookbook mail.txt

了解更多关于mysqlimport的信息.

关于mysqlimport,如何进行正确的文本加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45996011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com