gpt4 book ai didi

php - MySQL 多插入? INSERT 失败后的 MySQL 数据库完整性

转载 作者:行者123 更新时间:2023-11-29 04:30:19 24 4
gpt4 key购买 nike

是否可以一次向多个表中插入一行?如果您通过 ID 关联多个表;如果 INSERT 失败,确保保持完整性的最佳方法是什么?

最佳答案

这正是transactions是给。如果任何命令失败,START TRANSACTION 之后的整个过程将回滚:

START TRANSACTION;
INSERT INTO sometable VALUES(NULL,'foo','bar');
INSERT INTO someothertable VALUES (LAST_INSERT_ID(),'baz');
COMMIT;

这是 MySQL,你不能对 MyISAM 表使用事务(你需要这些表使用一些支持它的引擎,可能是 InnoDB)。

这永远不会被插入到表中(通常你会有一些分支,例如 IF):

START TRANSACTION;
INSERT INTO sometable VALUES(NULL,'data','somemoredata');
ROLLBACK;

警告:改变数据库结构的SQL命令(例如CREATEALTERDROP)不能回滚!

关于php - MySQL 多插入? INSERT 失败后的 MySQL 数据库完整性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3576324/

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