【发布时间】:2016-03-01 00:40:23
【问题描述】:
我正在尝试在 MySQL 中创建一个触发器,以便自动从另一个表 Accounts 生成表 Operations 的条目。
这是我的桌子:
CREATE TABLE Accounts (
number INT CHECK (number >= 0),
balance REAL CHECK (balance >= 0),
PRIMARY KEY (number)
);
CREATE TABLE Operations (
date DATE,
number INT REFERENCES Accounts(number),
amount REAL,
PRIMARY KEY (date, number)
);
在下面,我尝试使用的触发器会生成 ERROR 1064 (42000):
CREATE TRIGGER OperationTrig
AFTER UPDATE OF balance ON Accounts
REFERENCING OLD ROW AS ooo NEW ROW AS nnn
FOR EACH ROW
WHEN(nnn.balance <> ooo.balance)
INSERT INTO Operations
VALUES(CURDATE(), nnn.number, nnn.balance - ooo.balance);
我哪里错了?
【问题讨论】:
-
将您的创建表格作为代码(不是手工输入),当然不是图片。真的