黑洞存储引擎可用于诊断和将二进制日志卸载到不同的计算机,而无需将数据库存储在该计算机上.
你能想出这个引擎的其他创造性用途吗?
解决方法:
找到一个使用触发器:
如果您需要在事务中执行一系列复杂的插入或更新,则可以在应用程序代码中执行这些操作或更新
您可以创建一个具有足够行数的“大”黑洞表来保存所有值.
并创建一个触发器:
DELIMITER $$
CREATE TRIGGER ai_bh_table_each AFTER INSERT ON bh_table FOR EACH ROW
BEGIN
DECLARE lastid1 integer;
INSERT INTO table1 VALUES (null, new.field1, new.field2);
SELECT LAST_INSERT_ID() INTO lastid1;
INSERT INTO table2 VALUES (null, new.field3, lastid1);
....
END$$
DELIMITER ;
如果包含错误检查代码,您甚至可以模拟不支持它的引擎上的事务,例如MyISAM.
标签:mysql
来源: https://codeday.me/bug/20190521/1148658.html