gpt4 book ai didi

mysql - 通过终端将 sql 文件导入数据库。有没有办法为 "ERROR 1366 at line ***: Incorrect integer value: ' 设置默认值?

转载 作者:行者123 更新时间:2023-11-30 22:28:10 27 4
gpt4 key购买 nike

使用终端(ubuntu 15.10_64 + mysql 5.6)我通过这个命令将 sql 文件插入到数据库中:

for i in *.sql;
do mysql -u login_name -pPassword countries_mysql < $i;
done

其中 *.sql 文件包含如下字符串:

insert into region (id,vkl,tip,samonazvanie,mfa,stolica,samonazvanie_1,oficialno_1,cvet,flag,flag_svg,gerb,gerb_svg,mir_id,obj_id,kontinent,strana_id,region_id,ksi1,ksi2,ksi_sort,ksi_lat,iso_kod,gn_kod,telefon,pochta,avto,naselenie,ploshad,giddom,shirota_gradus,shirota_minuta,shirota_sekunda,dolgota_gradus,dolgota_minuta,dolgota_sekunda,sozdan,izmenen,vrem_pojas,dop_nazvanie,status,reforma_id,sxema_maska,tabl_id,tabl,pre_tabl,pre_id,post_tabl,post_id,uroven,nazvanie_1,opisanie_1,nazvanie_2,opisanie_2) VALUES ('60448','0','0','gmina Zalesie','','0','','','','','','','','0','0','0','130','52529','','','','','','','','','','0.000','0.000','http://www.giddom.com','0','0','0.00','0','0','0.00','2013-05-02 01:47:11','2015-01-25 13:21:36','','','8','0','0','0','','','0','','0','3','Залесе','');

我收到了很多(数千)此类错误:

ERROR 1366 (HY000) at line 61891: Incorrect integer value: '' for column 'post_id' at row 1

有没有办法在不更改 sql 文件的情况下使用 bash 或其他任何东西来为列 'post_id' 设置默认值以防出现错误?像这样的东西:

if post_id == '':
post_id = '0'

或以某种方式拦截错误。

我试图在互联网和 SO 上找到答案,但找到了 php 解决方案(我不使用 php)或通过编辑 sql 文件(我有 200 个文件,其中一些文件有大约 100 万行)。

我无法进行新的正确转储,因为文件是从互联网上下载的。

最佳答案

最快的方法可能是将列的定义更改为 varchar,执行导入,在空字符串的情况下替换 NULL,然后将 post_id 列更改回原始数据类型。

关于mysql - 通过终端将 sql 文件导入数据库。有没有办法为 "ERROR 1366 at line ***: Incorrect integer value: ' 设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34661502/

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