Php 检查select语句是否包含文本,然后用另一个文本进行更改
我是MySql的新手^ u^Php 检查select语句是否包含文本,然后用另一个文本进行更改,php,mysql,sql,triggers,Php,Mysql,Sql,Triggers,我是MySql的新手^ u^ 我使用的是一个名为GLPI的现有开源软件,他们使用的是MVC方法,因此我发现编辑主代码非常困难,这就是为什么我决定发布这个问题,如果我可以只更改MySql中的select语句的话 所以我需要知道,如果有任何操作包含( ) 然后用 ( ) 提前感谢基于您的问题,您似乎只需要对一行执行此操作,因此为什么不将id为“-2”的行复制到id为“1”的行中,然后 DELIMITER $$ CREATE TRIGGER myTrigger AFTER UPDATE ON `glp
我使用的是一个名为GLPI的现有开源软件,他们使用的是MVC方法,因此我发现编辑主代码非常困难,这就是为什么我决定发布这个问题,如果我可以只更改MySql中的select语句的话 所以我需要知道,如果有任何操作包含( ) 然后用 ( )
提前感谢基于您的问题,您似乎只需要对一行执行此操作,因此为什么不将id为“-2”的行复制到id为“1”的行中,然后
DELIMITER $$
CREATE TRIGGER myTrigger AFTER UPDATE ON `glpi_tickettemplates`
CREATE TEMPORARY TABLE `tempTable`
AS
SELECT * FROM `glpi_tickettemplates` WHERE id='-2';
UPDATE `tempTable` SET id='1' WHERE id='-2';
REPLACE INTO `glpi_tickettemplates` SELECT * FROM `tempTable`;
DROP TEMPORARY TABLE `tempTable`;
DELIMITER;
更新:
如果您想在所有传入请求中用id='-1'
替换每个id='-2'
,请查看
MySQL Proxy是一个简单的程序,它位于客户端和MySQL服务器之间,可以监视、分析或转换它们的通信
它的灵活性允许无限的使用;常见的有:
- 负载平衡
- 故障转移
- 查询分析
- 查询过滤和修改
现在,您可以找到安装、使用和运行MySQL代理的所有链接。我认为没有现成的方法可以做到这一点,不。为什么您首先需要这样做?这应该在应用程序级别而不是数据库中进行修复。我正在使用一个名为GLPI的现有开源软件,它们使用的是MVC方法,因此我发现编辑主代码非常困难,就像Pekka所说的,您需要在应用程序级别而不是数据库级别进行修复。如果您确实需要MVC默认行为,您可以覆盖它(尽管不建议新手使用)。尝试找出模型并在该模型中创建一个方法,然后在刚刚创建的方法中输入sql。然后,您可以动态调用该方法来运行上面的sql。@Autolycus tnks,您能更具体一点吗?tnks@FatDog47,这不起作用,因为在应用程序中,他们使用(id='-2')调用记录,所以我需要MySQL中的一些内容,可以查看是否有与(id='-2')相关的操作,然后使用(id='-1')进行更改然后把它寄出去,你唯一的解决办法就是。MySQL代理位于应用程序和MySQL之间,可以对传入的查询执行分析和修改。
SELECT * FROM `glpi_tickettemplates` WHERE `id` = '1'
DELIMITER $$
CREATE TRIGGER myTrigger AFTER UPDATE ON `glpi_tickettemplates`
CREATE TEMPORARY TABLE `tempTable`
AS
SELECT * FROM `glpi_tickettemplates` WHERE id='-2';
UPDATE `tempTable` SET id='1' WHERE id='-2';
REPLACE INTO `glpi_tickettemplates` SELECT * FROM `tempTable`;
DROP TEMPORARY TABLE `tempTable`;
DELIMITER;