gpt4 book ai didi

MySQL CSV 导入失败 - "Data too long for column ' air_date' 在第 1 行”

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

我正在尝试将 CSV 文件导入到 MySQL 表中,但在使其正常工作时遇到了各种麻烦。这就是我正在尝试做的事情:

我正在开发一个视频数据库,并且有一个现有的表,其中包含名为剧集的数据。设置方式如下:

+--------------+------------------------+---- --+----------------+--------------------+-------------------- --------+
|领域|类型 |空|关键|默认|额外 |
+--------------+------------------------+------+--- --+--------------------+---------------------------- --+
|标题 | varchar(40) | varchar(40)否 |乘法 |空 | |
|媒体 ID | varchar(11) | varchar(11)否 | |空 | |
| ep_info | varchar(75) | varchar(75) |是 | |空 | |
|播出日期 | varchar(20) | varchar(20)否 | |空 | |
| trt | varchar(8) | varchar(8) |否 | |空 | |
|播放次数 | mediumint(9) 无符号 |否 | | 0 | |
|上次播放 |时间戳|是 | |空| |
|输入|时间戳|否 | |当前_时间戳|更新 CURRENT_TIMESTAMP |
|编号 | int(10) 无符号 |否 |优先原则 |空|自动增量 |
| ep_desc | ep_desc | varchar(300) | varchar(300) |否 | |空| |
+--------------+------------------------+------+--- --+--------------------+---------------------------- --+

主键是 id 字段,标题字段设置为shows 表的外键。显示表如下所示:

+-------------+-------------+------+-----+------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+------------+-------+
| title | varchar(50) | NO | PRI | NULL | |
| title_image | varchar(50) | NO | | NULL | |
| gif_image | varchar(50) | NO | | NULL | |
| info_url | varchar(30) | NO | | shows.html | |
+-------------+-------------+------+-----+------------+-------+

我的 CSV 文件采用以下格式:

"Big Wolf On Campus","BWOC0102","Season 1 Episode 2: The Bookmobile","April 9, 1999";"21:57",NULL,NULL,NULL,NULL,"Once every 70 years, a window of transference opens that offers Tommy a chance to pass his curse to another person. Merton volunteers but that same day a bookmobile shows up in Pleasantville and people start disappearing."
"Big Wolf On Campus","BWOC0103","Season 1 Episode 3: Butch Comes To Shove","April 16, 1999","21:06",NULL,NULL,NULL,NULL,"When a character from a 1950s educational film gets sick of the rules he decides to leave the movie for Pleasantville. While there Butch decides to find someone to bring back to his black-and-white world - and Stacey is at the top of his list."

在导入过程中,我希望将 CSV 中的数据添加到表中的现有数据中。我还希望将 last_played 字段设置为 NULL(仅在节目播放时更新),输入的字段设置为当前时间戳,并且 id 字段自动递增为表的下一个值。

这是我的导入声明:

LOAD DATA INFILE 'ytv.csv' INTO TABLE episodes
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

产生的错误消息:

ERROR 1406 (22001): Data too long for column 'air_date' at row 1

我在这里做错了什么?似乎数据在导入时会转移到一列(例如 CSV 中的 ep_info 将进入 air_date 列),但我不明白为什么。对于这位 MySQL 新手来说,任何见解都将不胜感激。

最佳答案

您似乎有一些新剧集,但节目表中没有映射条目。您可以创建一个新表(例如剧集),删除任何约束,将数据加载到新表,将所有缺少的节目标题插入到节目表中,然后将新表中的剧集插入到剧集表中。

或者您可以删除外键,加载数据,修改显示表,然后添加外键。

关于MySQL CSV 导入失败 - "Data too long for column ' air_date' 在第 1 行”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30282855/

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