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命令。 –