0
我一直试图从java创建触发器,它不会工作。MySQL:创建一个触发器不断给我语法错误
String trigger = String.format("CREATE TRIGGER `%s` AFTER %s ON %s BEGIN INSERT INTO `ndb_log` (`table_name`, `action`, `time`) VALUES ('%s', '%s', UNIX_TIMESTAMP()) END;",
name, this.event.toUppercase(), this.table, this.table, this.event.toLowercase());
CREATE TRIGGER `onnc_censorINSERT` AFTER INSERT ON nc_censor BEGIN INSERT INTO `ndb_log` (`table_name`, `action`, `time`) VALUES ('nc_censor', 'insert', UNIX_TIMESTAMP()); END;
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的正确语法手册“BEGIN INSERT INTO
ndb_log
(table_name
,action
,time
)VALUES(” nc_censor”在行1
我不是在phpMyAdmin运行此,服务器控制台或类似的东西,我需要从一个String
的java运行它,我在我的班级呼叫this.mysql.update(trigger);
“基本上”运行它
我曾尝试在ssh mysql中运行创建触发字符串,但它也不起作用
我只想插入1条记录,不管有多少行插入,所以我怎样才能做到这一点? –
这似乎是一个触发器不适合,然后。对操作所影响的每一行执行触发器;没有办法改变这种行为。因此,您最好在批次INSERT的开始或结束时通过前端代码运行INSERT命令。 –