我有一个csv文件,有三列“movieid”、“imdbid”、“tmdbid”。列“tmdbid”包含多个空行。(movieid是引用另一个表中主键的froeign键)
当我将这个Dataframe读入r时,空行被视为na值。如果我使用下面的命令将这个csv文件导入mysql db,那么带有na值的行不会被插入表中,即使我允许空值。我还应该提到,我没有得到任何错误。
除了下面的命令之外,我还尝试使用mysql workbench导入数据集,但是没有成功。
有什么建议吗?
LOAD DATA LOCAL INFILE 'links.csv' INTO TABLE links
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(movieId, imdbId, tmdbId);
我知道null和na值不一样,但我不明白为什么r将空行视为na。我试图用null替换na,但r不支持此操作。
table
CREATE TABLE links (
movieId int NOT NULL,
imdbId int DEFAULT NULL,
tmdbId int DEFAULT NULL,
KEY movieId (movieId),
CONSTRAINT links_ibfk_1 FOREIGN KEY (movieId) REFERENCES movieId_title (movieId)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
csv文件如下所示:在此处输入图像描述
下面是第三列的空行示例:在此处输入图像描述
1条答案
按热度按时间46scxncf1#
正如@alec所建议的,你可以这样做
set foreign_key_checks = 0
. 然后,可以使用以下命令将零替换为null: