gpt4 book ai didi

mysql - 为什么不是所有数据都加载到我的 MySQL 表中?

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

所以我有一个 Twitter 数据文件,看起来像这样

Robert_Aderholt^&^&^2013-06-12 18:32:02^&^&^RT @financialcmte: In 2012, the Obama Admin published 1,172 new regulations totaling 79,000 pages. 57 were expected to have costs of at...
Robert_Aderholt^&^&^2013-06-12 13:42:09^&^&^The Administration's idea of a 'recovery' is 4 million fewer private sector jobs than the average post WWII recovery http://t.co/gSVW0Q8MYK
Robert_Aderholt^&^&^2013-06-11 13:51:17^&^&^As manufacturing jobs continue to decrease, its time to open new markets #4Jobs http://t.co/X2Mswr1i43

(^&^&^ 单词是分隔符,我选择该分隔符是因为它不太可能出现在任何推文中。)

此文件有 90663 行长(我通过输入“wc -l tweets_parsed-6-12.csv”进行检查)。

但是,当我将它们加载到表中时,我只得到一个包含 40456 个条目的表:

mysql> source ../code/tweets2tables.sql;
Query OK, 0 rows affected (0.03 sec)

Query OK, 0 rows affected (0.08 sec)

Query OK, 40456 rows affected, 2962 warnings (0.81 sec)
Records: 40456 Deleted: 0 Skipped: 0 Warnings: 2962

mysql> SELECT COUNT(*) FROM tweets;
+----------+
| COUNT(*) |
+----------+
| 40456 |
+----------+
1 row in set (0.02 sec)

这是为什么呢?我删除了所有不包含 ^&^&^ 的行,所以我认为这些数据没有任何有趣的业务,但我可能是错的。

我的加载代码是

DROP TABLE IF EXISTS tweets;

CREATE TABLE tweets (
twitter_id VARCHAR(20),
post_date DATETIME,
body VARCHAR(140)
);

LOAD DATA
LOCAL INFILE 'tweets_parsed-6-12.csv'
INTO TABLE tweets
FIELDS TERMINATED BY '^&^&^'
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(twitter_id, post_date, body);

最佳答案

未加载的行可能包含 " 字符。如果您指定字段以 " 结尾,则其中的引号应该像这样转义this - ""(双引号)。

ENCLOSED 之前的 OPTIONALLY 关键字可能会有所帮助。

关于mysql - 为什么不是所有数据都加载到我的 MySQL 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17077317/

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