php批量生成mysql触发器定义语句

简介:这是php批量生成mysql触发器定义语句的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=333669' scrolling='no'>
<?php
define('TRIGGER_AFTER_INSERT_SQL',"DELIMITER |
DROP TRIGGER IF EXISTS %s;
CREATE TRIGGER %s
AFTER INSERT ON %s
FOR EACH ROW BEGIN
    SET @result_set = (select clear_cache());
END |
DELIMITER ;\r\n\r\n");

define('TRIGGER_AFTER_UPDATE_SQL',"DELIMITER |
DROP TRIGGER IF EXISTS %s;
CREATE TRIGGER %s
AFTER UPDATE ON %s
FOR EACH ROW BEGIN
    SET @result_set = (select clear_cache());
END |
DELIMITER ;\r\n\r\n");

define('TRIGGER_AFTER_DELETE_SQL',"DELIMITER |
DROP TRIGGER IF EXISTS %s;
CREATE TRIGGER %s
AFTER DELETE ON %s
FOR EACH ROW BEGIN
    SET @result_set = (select clear_cache());
END |
DELIMITER ;\r\n\r\n");

mysql_connect('127.0.0.1:3307','root','') or die(mysql_error());
mysql_select_db('db');
mysql_query('SET NAMES UTF8');

$triggerDDL = '';

$rs = mysql_query('SHOW TABLES');
while($row = mysql_fetch_array($rs))
{
	$tblName = $row['Tables_in_db'];

	
	$triggerDDL .= "\r\n--\r\n-- 表的触发器 `".$tblName."`\r\n--\r\n";
	
	$triggerName = $tblName.'_insert';
	$triggerDDL .= sprintf(TRIGGER_AFTER_INSERT_SQL,$triggerName,$triggerName,$tblName);

	$triggerName = $tblName.'_update';
	$triggerDDL .= sprintf(TRIGGER_AFTER_UPDATE_SQL,$triggerName,$triggerName,$tblName);

	$triggerName = $tblName.'_delete';
	$triggerDDL .= sprintf(TRIGGER_AFTER_DELETE_SQL,$triggerName,$triggerName,$tblName);
}

file_put_contents('db_trigger.sql',$triggerDDL);
?>

“php批量生成mysql触发器定义语句”的更多相关文章 》

爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

http://biancheng.dnbcw.info/php/333669.html pageNo:11
原文地址:https://www.cnblogs.com/ooooo/p/2249294.html