CREATE DATABASE IF NOT EXISTS `test_dump` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `test_dump`; -- MySQL dump 10.13 Distrib 5.1.34, for apple-darwin9.5.0 (i386) -- -- Host: natasha.local Database: test_dump -- ------------------------------------------------------ -- Server version 5.1.50 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for table `test_table` -- DROP TABLE IF EXISTS `test_table`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `test_table` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `some_nullable_ts` timestamp NULL DEFAULT NULL, `some_nullable_string` varchar(45) DEFAULT NULL, `after_trigger` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `test_table` -- LOCK TABLES `test_table` WRITE; /*!40000 ALTER TABLE `test_table` DISABLE KEYS */; INSERT INTO `test_table` VALUES (1,NULL,'One',NULL),(2,'2010-10-01 13:20:22','Two',NULL),(3,NULL,'Tres',NULL),(4,NULL,'Four',NULL); /*!40000 ALTER TABLE `test_table` ENABLE KEYS */; UNLOCK TABLES; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8 */ ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = '' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`frostbite-falls`*/ /*!50003 TRIGGER `test_table_bu_fer` BEFORE UPDATE ON `test_table` FOR EACH ROW BEGIN IF IF(NEW.some_nullable_ts IS NULL AND OLD.some_nullable_ts IS NULL, 1, 0) = 0 THEN IF IFNULL(NEW.some_nullable_ts, NOW()) <> IFNULL(OLD.some_nullable_ts, DATE_SUB(NOW(), INTERVAL 5 MINUTE)) THEN INSERT INTO test_table_log (column_nm, old_value, new_value) VALUES ('some_nullable_ts', CAST(OLD.some_nullable_ts AS CHAR), CAST(NEW.some_nullable_ts AS CHAR)); END IF; END IF; IF IF(NEW.some_nullable_string IS NULL AND OLD.some_nullable_string IS NULL, 1, 0) = 0 THEN IF IFNULL(NEW.some_nullable_string, '') <> IFNULL(OLD.some_nullable_string, '?') THEN INSERT INTO test_table_log (column_nm, old_value, new_value) VALUES ('some_nullable_string', OLD.some_nullable_string, NEW.some_nullable_string); END IF; END IF; END */;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Table structure for table `test_table_log` -- DROP TABLE IF EXISTS `test_table_log`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `test_table_log` ( `log_ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `column_nm` varchar(45) NOT NULL, `old_value` varchar(255) DEFAULT NULL, `new_value` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `test_table_log` -- LOCK TABLES `test_table_log` WRITE; /*!40000 ALTER TABLE `test_table_log` DISABLE KEYS */; INSERT INTO `test_table_log` VALUES ('2010-10-01 13:20:22','some_nullable_ts',NULL,'2010-10-01 08:20:22'),('2010-10-01 13:20:37','some_nullable_string','Uno','One'); /*!40000 ALTER TABLE `test_table_log` ENABLE KEYS */; UNLOCK TABLES; -- -- Dumping routines for database 'test_dump' -- /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2010-10-01 13:29:10