mysql - 为什么我的数据被截断了?警告 |第1265章列的数据被截断

标签 mysql date null warnings truncated

我尝试将 NULL 添加到 date_of_birth 和 date_of_death,但这没有帮助。为什么数据被截断了? (特别是因为目前没有任何数据......)

此外,我根本不理解警告 1261。第 5 行与第 1-4 行没有区别。

谢谢!

以下脚本:

-- create the people table
DROP TABLE IF EXISTS people;

CREATE TABLE people (
full_name varchar (50) NOT NULL,
people_ID varchar (15) NOT NULL,
date_of_birth DATE,
date_of_death DATE,
PRIMARY KEY(people_ID))
ENGINE = INNODB;

LOAD DATA LOCAL INFILE "People.csv"
INTO TABLE people
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;  

给我这些错误:

Query OK, 5 rows affected, 10 warnings (0.00 sec)
Records: 5  Deleted: 0  Skipped: 0  Warnings: 10

mysql> show warnings;
+---------+------+----------------------------------------------------+
| Level   | Code | Message                                            |
+---------+------+----------------------------------------------------+
| Warning | 1265 | Data truncated for column 'date_of_birth' at row 1 |
| Warning | 1265 | Data truncated for column 'date_of_death' at row 1 |
| Warning | 1265 | Data truncated for column 'date_of_birth' at row 2 |
| Warning | 1265 | Data truncated for column 'date_of_death' at row 2 |
| Warning | 1265 | Data truncated for column 'date_of_birth' at row 3 |
| Warning | 1265 | Data truncated for column 'date_of_death' at row 3 |
| Warning | 1265 | Data truncated for column 'date_of_birth' at row 4 |
| Warning | 1265 | Data truncated for column 'date_of_death' at row 4 |
| Warning | 1265 | Data truncated for column 'date_of_birth' at row 5 |
| Warning | 1261 | Row 5 doesn't contain data for all columns         |
+---------+------+----------------------------------------------------+
10 rows in set (0.00 sec)

mysql> select * from people;
+-------------------+-----------+---------------+---------------+
| full_name         | people_ID | date_of_birth | date_of_death |
+-------------------+-----------+---------------+---------------+
| Harry Dunham      | H_Dunham  | 0000-00-00    | NULL          |
| Julien Bryan      | J_Bryan   | 0000-00-00    | 0000-00-00    |
| Jules V.D. Bucher | J_Bucher  | 0000-00-00    | 0000-00-00    |
| Miriam Bucher     | M_Bucher  | 0000-00-00    | 0000-00-00    |
| Paul Bowles       | P_Bowles  | 0000-00-00    | 0000-00-00    |
+-------------------+-----------+---------------+---------------+
5 rows in set (0.01 sec)

这是我的 .csv:

FullName,People_ID,DOB,DOD
Jules V.D. Bucher,J_Bucher,,
Miriam Bucher,M_Bucher,,
Julien Bryan,J_Bryan,,
Paul Bowles,P_Bowles,,
Harry Dunham,H_Dunham,,

最佳答案

也许发生的事情是 Mysql 正试图强制将空字符串 "" 放入您的日期列,但该列只接受 DATE格式化数据,以便将其转换为正确的格式。尝试调整您的 CSV,使其中一行的日期列中有 "0000-00-00",而不仅仅是 ""(空白),看看您是否得到更少警告。

1261 警告看起来更像 -- Mysql 如何处理 CSV 导入可能无害但令人讨厌的怪癖 -- 我不会担心它,除非你看到证据表明你导入的数据是完成。

关于mysql - 为什么我的数据被截断了?警告 |第1265章列的数据被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30008676/

相关文章:

java - 我收到 .getDateEditor 错误

date - 如何缩短望远镜应用程序中的日期?

java - 处理空到字符串错误

mysql - 连接多个表以获取库存项目的集合

使用 utf8mb4 的 PHP/mysql 站点无法从数据库中正确检索表情符号,尽管在我能找到的所有地方都指定了 utf8mb4

php - 使用mysql_fetch_row()生成编辑表单

MySQL:使用单个查询将整个表中的 'NULL' 作为字符串替换为实际 NULL 值

php - 如何在一个php页面中执行多个sql插入语句

date - 快速测量错误 : "Only Power BI-provided date hierarchies are supported"

c# - null 和 System.DBNull.Value 之间有什么区别?