MySQL触发器:更新新表并删除旧数据后插入
我有两个类似的表新数据插入table_1
与。我想在phpMyAdmin中写一个触发器来更新table_2
中的旧数据,新数据插入到table_1
并删除table_1
新数据。 ech行有唯一的id。MySQL触发器:更新新表并删除旧数据后插入
它看起来很简单,但我没有MySQL的知识。
谢谢。
您无法更新执行触发器的表。 MySQL在锁定表时锁定表,并且不允许在锁定时更新它(这可能会导致死锁)
我认为对您更好的解决方案是使用存储过程。而且,对于我想要实现的目标来说,这似乎很奇怪,你可以用更新的数据来更新table_2,这些数据更具性能且更有意义。
我寻找一种简单和快速的方式来更新500行每10分钟有10列的表,这是巨大的数据库。直接更新占用大量时间和服务器性能。 –
@ArthurB这种方式你试图以任何方式没有帮助,但也可以使事情变得更糟,存储过程可能会帮助你一点 – BlackBrain
@ArthurB与使用两个单独的查询或过程相比,触发器不会加快速度。所以它需要大约相同的时间和服务器性能。 (实际上,有时使用触发器会比较慢,因为它必须分别对每一行执行)。触发器是有用的,例如以确保数据完整性(例如,您不能“忘记”更新第二张表)。 – Solarflare
你到目前为止做了哪些研究? – tilz0R
你的问题是:如果这个,那么这个,我这个,如果那样的话。你会尝试构建一个坚实的问题吗? – Tomm
我没有看到table1这里的重点,也许你可以使用插入重复键版插入到表2. –