我可以在mysql中使用触发器在php中使用吗?

时间:2012-02-25 13:19:15

标签: php mysql

我需要我的php脚本只在我的mysql数据库是:UPDATING或INSERTING时才做某事。

我不知道该怎么做。存在任何功能吗? 我想到了一个在mysql中使用触发器的解决方案,当它是更新或插入时发出警告。并执行我的PHP脚本的功能。我能这样做吗?

实施例: (在我的PHP脚本中)

If ($trigger-> _updating) {
    echo 'Works update';
} elseif ($trigger-> _inserting) {
    echo 'Works insert';
}else{
    echo 'did nothing';
}

更多细节:

我尝试这样做:检查我的mysql数据库中是否更新了表格,或者在同一个表格中插入新记录时。

为什么?对于我的PHP脚本,当它是更新或插入时,更新html页面中的表中的数据或插入新数据。

因为我现在正在做的是:如果你想更新表中的数据(或检查是否有更新),我有一个按钮,你做的是SELECT *然后将数据替换为表(对我而言,这是非常低效的,因为它是非常昂贵的) 插入新记录也是如此。我想改进代码,不要做任何事情的整个过程。

1 个答案:

答案 0 :(得分:2)

不要让PHP这样做。

而是以这样一种方式构建数据库,使其无论使用何种技术(PHP,C ++甚至命令行程序MySql)都能保持一致性。通过使用约束和触发器来完成此操作这样,数据库中的数据永远不会被破坏或无效。