php - 检查 select 语句是否包含文本,然后用另一个文本更改它

标签 php mysql sql triggers

我是 MySql 的新手 ^_^ ,

我正在使用一个名为 GLPI 的现有开源代码,他们使用 MVC 方法,所以我发现编辑主代码非常困难,这就是为什么我决定发布这个问题,如果我可以更改 MySql 中的 select 语句相反。

所以我需要知道是否有任何方法可以让数据库监听是否有任何操作包含(

SELECT * FROM `glpi_tickettemplates` WHERE `id` = '-2' 

)

然后将其更改为 (

SELECT * FROM `glpi_tickettemplates`  WHERE `id` = '1' 

)

提前致谢

最佳答案

根据您的问题,您似乎只需要一个特定行,那么为什么您不将 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='-2' 替换为 id='-1',请查看 MySQL Proxy .

MySQL Proxy 是一个简单的程序,位于您的客户端和 MySQL 服务器之间,可以监视、分析或转换它们的通信。

它的灵 active 允许无限的使用;常见的包括:

  • 负载均衡
  • 故障转移
  • 查询分析
  • 查询过滤和修改

还有更多。

http://forge.mysql.com/wiki/MySQL_Proxy您可以找到安装、使用和运行 MySQL Proxy 的所有链接。

关于php - 检查 select 语句是否包含文本,然后用另一个文本更改它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14790616/

相关文章:

php - 用于将 csv 文件插入 mysql 数据库的 Drupal 模块

mysql - 如何使用带有逗号分隔值的字符串加入?

mysql - PHP Mysql 中 NOT EXISTS 的使用

sql - MySQL 使用哪个版本?

sql - 复杂的 TSQL order by 子句

php - 具有语法高亮显示的共享在线代码查看工具?

php - 在将多个或批量插入查询更改为 PDO 时需要帮助

php - 使用 Codeigniter 和 MySQL 从同一个表获取对等列值

java - 使用 hibernate (JAVA) 时如何避免 "mysql"数据库中出现重复项?

javascript - 在 PHP 中使用 JSON 时在字符串之前添加字符串长度