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
---------------------------------------------------

new是一张表吗