【发布时间】:2019-07-03 11:43:17
【问题描述】:
我有一个从不同网站收集酒店名称和地址数据的应用程序。
我需要将它们成串插入 - 一次 10 个 - 插入 mysql 数据库。 如果一个失败(例如当前的酒店名称超过 100 个字符,而 hotel_name 列的类型是 char(75)),那么失败之后的那些将丢失。
那么我如何编写一个事务或查询,其中有 10 个插入语句,但如果一个失败,它会让其余的被插入。
insert into hotels (hotel_id, hotel_name, batch_id)
values ('18nt2f4jrqsqipf', 'Hotel Urban Flats Vienna City Center', '2019-02-04_20-35-22');
values ('18nt2fajrqsqk4g', 'Hotel Appartements Castello', '2019-02-04_20-35-22');
values ('18nt2ghjrqsqx5o', 'Bed and Breakfast Pension Bergkristall', '2019-02-04_20-35-22');
values ('18nt2gnjrqsqv48', 'hotel garni corona: einfachheit und gastfreundschaft am comer see - scoene aussich im jeden jahreszeit - gaeste sind immer wilkommen', '2019-02-04_20-35-22');
values ('18nt2gnjrqsqw41', 'Hotel Sommerhotel Don Bosco', '2019-02-04_20-35-22');
所以在第 5 个值子句中,对于 hotel_name 列,数据比数据类型长。 我该如何实现,将其包装到事务中(或仅在正常查询中),如果该事务失败,事务仍会运行下一个事务? 感谢您的回答
(顺便说一下,代码预览显示我的代码没有换行符和缩进,虽然我使用了 4 个空格缩进和换行符,如果这些似乎没有显示,请见谅)
【问题讨论】:
-
见
INSERT IGNORE -
是的,它已经解决了这个问题......如果你回答了这个问题,我可以为你提供解决方案。非常感谢。
-
谢谢,不过太琐碎了,我真的不需要积分。
-
我还是谢谢你。祝你好运。
标签: mysql node.js pdo transactions insert-into