MySQL如何用触发器实现新增时删除最后一条数据

MySQL如何用触发器实现新增时删除最后一条数据,第1张

首先mysql 只支持3种触发器

1 DELETE2 INSERT 3 UPDATE

其他的MySQL语句不支持触发器,所以你第二个需求不能用触发器实现。

其次是 非常遗憾,MYSQL中触发器中不能对本表进行 insert ,update ,delete *** 作,以免递归循环触发。所以你第一个需求不能在insert前删除本表数据

对于update 能用set 进行 *** 作替换,insert与delete只能借助第二张表才能实现需要的目的。

Mysql的触发器相当于内部处理的一些过程,不带入和带出任何的参数。

其内部使用的参数就是新旧两条记录old和new的字段。

用于完成数据表之间的触发 *** 作,来保证数据库的一致性、完整性。

Mysql的存储过程是类似于其它编程语言中的函数的功能。

存储过程内部可以使用顺序循环和转移三种基本程序结构,而且整个存储过程可以接受和返回参数。

若想利用此方法达到反向同步则可能出现问题,比如想在parkfee数据库有新数据插入时让当前数据库也同时插入一条记录,建立一个触发器,则形成了一个循环触发,当插入数据时会报大于最大递归次数错。因此因避免这样的触发循环,若要达到类似效果还须想别的方法。(待续)补充:若两个库处于不同的数据库服务器则应先进行以下 *** 作:在 server1 上创建连接服务器,以便在 server1 中 *** 作 server2,实现同步exec sp_addlinkedserver 'server2','','SQLOLEDB','server2的数据库实例名或ip'exec sp_addlinkedsrvlogin 'server2','false',null,'用户名','密码'go


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6114970.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存