我有一个数据文件,我正在使用插入到数据库。如您所见,最后一个字段的值在文件的两行中都是4。
2018-08-03 07:04:20 2 NODE_HEALTH_CHECK Report_administrator_03082018065538 1 2018-08-03 07:04:17 2018-08-03 07:04:20 00:00:00:2:7210COMPLETED FAILED 0 PRE_INSTALL 4
2018-08-03 12:33:30 2 NODE_HEALTH_CHECK Report_administrator_03082018110136 2 2018-08-03 12:17:57 2018-08-03 12:33:30 00:00:15:33:116100 COMPLETED SUCCESS 2 PRE_INSTALL 4
我通过命令将其插入表中
LOAD DATA INFILE '$bcpFileNhcDetailsLogs' INTO TABLE details_logs
表after的内容对于两者都为空。
time siteid jobType job_name number_of_network_elements start_time end_time duration progress_percentage status result health_status healthy_nodes_count category netypeid1
2018-08-03 07:04:20 2 NODE_HEALTH_CHECK Report_administrator_03082018065538 1 2018-08-03 07:04:17 2018-08-03 07:04:20 00:00:00:2:7210COMPLETED FAILED 0 0 4 NULL
2018-08-03 12:33:30 2 NODE_HEALTH_CHECK Report_administrator_03082018110136 2 2018-08-03 12:17:57 2018-08-03 12:33:30 00:00:15:33:116100 COMPLETED SUCCESS 2 0 4 NULL
我不明白为什么。请参见表说明,特别是最后一个字段netypeid。
Field Type Null Key Default Extra
time datetime NO MUL NULL
siteid smallint(5) unsigned NO NULL
jobType varchar(32) NO NULL
job_name varchar(100) NO NULL
number_of_network_elements smallint(5) unsigned NO NULL
start_time datetime NO NULL
end_time datetime NO NULL
duration varchar(100) NO NULL
progress_percentage smallint(5) unsigned NO NULL
status varchar(20) NO NULL
result varchar(20) NO NULL
health_status varchar(20) YES NULL
healthy_nodes_count smallint(5) unsigned YES NULL
category varchar(32) YES NULL
netypeid smallint(5) unsigned YES NULL
2条答案
按热度按时间e5nszbig1#
似乎输入数据中没有与数据表定义中的列匹配的列集。
他们排在第一排的方式:
从它看起来的样子,我猜你的
health_status
数据导入中缺少列,导致导入的数据向左移动一列。将null添加到nettypeid
字段和导入的healthy_nodes_count
正在设置为0
因为导入的字段需要smallint
而是接收一个varchar字符串。如果删除
healthy_nodes_count
列,导入应该可以正常工作。否则,您需要确保在导入之前将该字段添加到数据中。iqxoj9l92#
感谢各位,在你们的提示和我自己的灯泡时刻之间,我意识到专栏的健康状况是多余的。把它从table上掉下来,我们就没事了!
非常感谢