0

我想插入或更新,然后将新日志插入另一个表。

我正在运行一个漂亮的小查询,将信息从临时表中提取到其他表中,例如

在重复键更新时插入选择

我想在没有 php 或触发器(主要开发人员不喜欢 em,而且我对它们也不熟悉)的情况下做的是将新记录插入日志记录表中。需要报告更新或插入的数据以及在什么表上。

有什么提示或例子吗?

注意:我用 php 做的很好,虽然处理 50K 行需要大约 4 个小时。使用 laravel php 框架,循环更新 4 个其他表中的每个条目,每个条目的数据和日志等于每行 8 个查询(这是使用 laravel 模型而不是原始 sql)。我能够通过将日志推送到数组和批处理来进行优化。但是你无法通过绕过所有吞吐量来击败 mysql 中 15 秒的处理时间。现在我迷上了用 sql 方式做一些很棒的事情。

4

3 回答 3

1

如果您需要执行多个查询语句。我指的是使用事务然后触发来保证原子性ACID的一部分)。波纹管代码是MySql 事务的示例:

START TRANSACTION;
UPDATE ...
INSERT ...
DELETE ...
Other query statement
COMMIT;

事务中的语句将全部执行或不执行。

于 2012-09-24T15:26:07.733 回答
0

最好使用触发器,它通常用于记录目的

于 2012-09-24T14:39:56.993 回答
0

如果你想做两件事(插入基本行和插入日志行),你需要两个语句。第二个可以(并且应该)是一个触发器。

于 2012-09-23T15:33:55.777 回答