delimiter | CREATE TRIGGER `feed_insert` BEFORE INSERT ON `feeds` FOR EACH ROW BEGIN SET @alevel = (SELECT max(readinglist_feeds.acct_level) FROM grazr_accounts.readinglist_feeds WHERE grazr_accounts.readinglist_feeds.url_md5_fk = NEW.url_md5_fk); IF @alevel IS NULL THEN SET NEW.acct_level = 0; ELSE SET NEW.acct_level = @alevel; END IF; END | as dump has it: /*!50003 SET @OLD_SQL_MODE=@@SQL_MODE*/; DELIMITER ;; /*!50003 SET SESSION SQL_MODE="" */;; /*!50003 CREATE */ /*!50003 TRIGGER `feed_insert` BEFORE INSERT ON `feeds` FOR EACH ROW BEGIN SET @alevel = (SELECT max(readinglist_feeds.acct_level) FROM grazr_accounts.readinglist_feeds WHERE grazr_accounts.readinglist_feeds.url_md5_fk = NEW.url_md5_fk); IF @alevel IS NULL THEN SET NEW.acct_level = 0; ELSE SET NEW.acct_level = @alevel; END IF; END */;; as it is replicated: to the master, replicated to the slave #071018 12:11:49 server id 1 end_log_pos 8177666 Query thread_id=13 exec_time=0 error_code=0 SET TIMESTAMP=1192723909; CREATE DEFINER=`root`@`localhost` TRIGGER `feed_update` BEFORE UPDATE ON `feeds` FOR EACH ROW BEGIN SET @alevel = (SELECT max(grazr_accounts.readinglist_feeds.acct_level) FROM grazr_accounts.readinglist_feeds WHERE grazr_accounts.readinglist_feeds.url_md5_fk = NEW.url_md5_fk); IF @alevel IS NULL THEN SET NEW.acct_level = 0; ELSE SET NEW.acct_level = @alevel; END IF; END */; # End of log file ROLLBACK /* added by mysqlbinlog */; the error: Error 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*/' at line 5' on query. Default database: 'grazrserver'. Query: 'CREATE DEFINER=`root`@`localhost` TRIGGER `feed_insert` BEFORE INSERT ON `feeds` FOR EACH ROW BEGIN SET @alevel = (SELECT max(readinglist_feeds.acct_level) FROM grazr_accounts.readinglist_feeds WHERE grazr_accounts.readinglist_feeds.url_md5_fk = NEW.url_md5_fk); IF @alevel IS NULL THEN SET NEW.acct_level = 0; ELSE SET NEW.acct_level = @alevel; END IF; END */' |