gpt4 book ai didi

mysql - NULL 值不会插入到 sql 表中

转载 作者:行者123 更新时间:2023-12-04 09:48:48 25 4
gpt4 key购买 nike

我有一个包含“movieId”、“imdbId”、“tmdbId”三列的 CSV 文件。 “tmdbId”列包含多个空行。(movieId 是指另一个表中的主键的外键)

当我将此数据帧读入 R 时,空行被视为 NA 值。如果我使用以下命令将此 CSV 文件导入 mysql DB,即使我允许 NULL 值,也不会将具有 NA 值的行插入表中。我还应该提到,我没有收到任何错误。

除了以下命令,我还尝试使用 MySQL 工作台导入数据集,但没有奏效。

有什么建议吗?

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。我尝试将 NA 替换为 NULL,但 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 文件如下所示:
enter image description here

以下是第三列的空行示例:
enter image description here

最佳答案

正如@Alec 所建议的,你可以做 set foreign_key_checks = 0 .然后,您可以使用以下命令将零替换为 NULL:

UPDATE table_name
SET col_name= NULL
WHERE col_name = 0;

关于mysql - NULL 值不会插入到 sql 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62047170/

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