势必拿下SpringBoot 2021-07-03 11:55 采纳率: 100%
浏览 22
已结题

SQl中insert语句报错

我的姓名和工厂是要字符型的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
---------------------------------------------------
  • 写回答

1条回答 默认 最新

  • 404警告 2021-07-03 12:51
    关注

    new是一张表吗

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月4日
  • 已采纳回答 1月27日