【发布时间】:2016-03-05 08:26:15
【问题描述】:
您能帮我解决以下问题吗? 当我尝试在 Mysql 5.5 中创建以下触发器时出现错误 触发器如下:
CREATE OR REPLACE TRIGGER bookTakenDate
AFTER INSERT ON readers_books
for each row
begin
update readers_books
set date_supposed_taken = new.date_given
where given_book_id = new.given_book_id;
end;
错误如下:
SQL(1064):SQL 语法有错误;在第 1 行。
表格结构如下:
CREATE TABLE IF NOT EXISTS readers_books (
GIVEN_BOOK_ID int(11) NOT NULL AUTO_INCREMENT,
books_ID int(11) DEFAULT NULL,
readers_ID int(11) DEFAULT NULL,
date_given date DEFAULT NULL,
date_supposed_taken date DEFAULT NULL,
PRIMARY KEY (GIVEN_BOOK_ID),
KEY books_ID (books_ID),
KEY readers_ID (readers_ID),
CONSTRAINT readers_books_ibfk_1 FOREIGN KEY (books_ID) REFERENCES BOOKS (ID),
CONSTRAINT readers_books_ibfk_2 FOREIGN KEY (readers_ID) REFERENCES READERS (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
实际上触发器应该执行以下操作。它应该以自动方式将 +7 天插入 date_supposed_taken 列
【问题讨论】: