我有桌子:
CREATE TABLE CUSTOMER (
CUSTID NUMERIC(6) NOT NULL,
NAME CHAR (45),
ADDRESS CHAR (40),
CITY CHAR (30),
STATE CHAR (2),
ZIP CHAR (9),
AREA NUMERIC(3),
PHONE CHAR (9),
REPID NUMERIC(4) NOT NULL,
CREDITLIMIT NUMERIC(9,2),
COMMENTS TEXT,
CONSTRAINT CUSTOMER_PRIMARY_KEY PRIMARY KEY (CUSTID))
AUTO_INCREMENT = 109;
和触发器:
DELIMITER |
CREATE TRIGGER trigger_check_custid
BEFORE INSERT ON CUSTOMER
FOR EACH ROW BEGIN
IF new.CUSTID > 0 THEN
INSERT INTO CUSTOMER
VALUES (new.CUSTID);
END IF;
END;
|
DELIMITER ;
作为约束检查的替代,但是当我的SQL代码中的值进一步插入表中时,我得到错误#1442(无法更新存储函数/触发器中的表'CUSTOMER',因为它已经被使用by语句调用此存储的函数/触发器。)
我读到这与MySQL有关,可以防止潜在的递归,但我对SQL很新,不知道在哪里可以识别错误。可能导致什么呢?
提前致谢。