2012-02-25 125 views
-1

我需要我的PHP脚本只有当我的mysql数据库是:UPDATING或INSERTING时才会做某些事情。我可以在mysql中使用触发器以用于php吗?

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

例子: (在我的PHP脚本)

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

更多细节:

我尝试这样做:做一个检查时,在我的mysql数据库是一个表的更新,或当你插入新记录放入同一张表中。

用于什么?对于我的PHP脚本,当它是更新或插入时,更新HTML页面中的表格中的数据或插入新数据。因为我现在正在做的是:如果你想更新表中的数据(或者检查是否有更新),我有一个按钮,你做的是一个SELECT *,然后将数据替换为表(这对我来说效率很低,因为它非常成本) 新插入的记录也会发生同样的情况。我想要改进代码,不要一无所有地完成整个过程。

+1

您能否介绍一下您正在尝试做的事情?为什么你需要一个PHP脚本作为MySQL触发器? – Alp 2012-02-25 13:22:00

+0

@Alp好吧,我添加更多细节 – Dvex 2012-02-25 13:59:36

+0

@Dvex - 不要让事情太复杂。使之合乎逻辑。如果您遇到性能问题,请检查查询是否使用索引,执行一些分析并找出瓶颈。这样可以节省时间和精力,而不是第二次猜测。 – 2012-02-25 14:05:13

回答

2

不要让PHP来做到这一点。

改为构建数据库的方式保持一致性,无论使用哪种技术(PHP,C++甚至是命令行程序MySql)。通过使用约束和触发器来做到这一点。这样数据库中的数据永远不会损坏或无效。

相关问题