我的姓名和工厂是要字符型的sql中要加‘ ’
但是我加单引号的话会直接把这个new.name直接输入到购物车吧~
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `addtoshopcar` BEFORE INSERT ON `shopcar`
FOR EACH ROW BEGIN
DECLARE flag INT DEFAULT 0;
SELECT 1 INTO flag FROM shopcar WHERE shopcar.id=new.id;
IF flag<0
INSERT INTO shopcar(id,NAME,dustry,price)
VALUES(new.id,new.name,new.dustry,new.price);
ELSE
UPDATE shopcar SET shopcar.number=shopcar.number+1
WHERE shopcar.id=new.id AND EXISTS( SELECT * FROM shopcar WHERE id=new.id);
END IF
END$$
DELIMITER ;
代码的报错是这样的
Query: CREATE /*[DEFINER = { user | CURRENT_USER }]*/ TRIGGER `addtoshopcar` BEFORE INSERT ON `shopcar` FOR EACH ROW BEGIN DECLARE flag...
Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO shopcar(id,NAME,dustry,price)
VALUEs(new.id,'new.name','new.dus' at line 8
Execution Time : 0 sec
Transfer Time : 0 sec
Total Time : 0 sec
---------------------------------------------------