我是靠谱客的博主 美满鞋垫,最近开发中收集的这篇文章主要介绍MySQL报错:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
报错内容: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 '
在这里我在MySQL存储过程
原先代码:
DELIMITER $
CREATE PROCEDURE closemoney(
-- 修改用户金额,积分,用户id数据
IN mon INT,IN yintegral DOUBLE,IN userid DOUBLE,
-- 修改商家库存扣除数量数据
IN gmon INT,IN marchantid INT,IN size VARCHAR,
-- 订单表储存
IN dtime DATETIME,IN dmon DOUBLE,IN clieid INT,IN storeid INT,IN addrid INT,
-- 交易记录储存
IN integral VARCHAR,IN zmon DOUBLE)
BEGIN
-- 扣除用户的金额,增加用户积分,上传:扣除金额,积分,用户id
UPDATE customer SET cust_balance=(cust_balance-mon),cust_integral =yintegral WHERE cust_id=userid;
-- 商家的库存扣除数量,上传:购买数量,商品id,商品尺码
UPDATE tab_goodsdetail SET goods_stock=(goods_stock-gmon) WHERE goods_id=marchantid AND goods_size=size;
-- 订单表储存。上传:下单时间,下单金额,顾客id,店铺id,地址id
INSERT INTO tab_order VALUES (NULL,dtime,dmon,NULL,clieid,storeid ,addrid);
-- 交易记录储存。上传:交易类型,交易金额,顾客id=上一个条件的顾客id
INSERT INTO tab_cashlog VALUES (NULL,integral ,zmon,clieid);
END $
后面经过研究发现是我传值时varchar未给长度
修改后的代码
DELIMITER $
CREATE PROCEDURE closemoney(
-- 修改用户金额,积分,用户id数据
IN mon INT,IN yintegral DOUBLE,IN userid DOUBLE,
-- 修改商家库存扣除数量数据
IN gmon INT,IN marchantid INT,IN size VARCHAR(10),
-- 订单表储存
IN dtime DATETIME,IN dmon DOUBLE,IN clieid INT,IN storeid INT,IN addrid INT,
-- 交易记录储存
IN integral VARCHAR(50),IN zmon DOUBLE)
BEGIN
-- 扣除用户的金额,增加用户积分,上传:扣除金额,积分,用户id
UPDATE customer SET cust_balance=(cust_balance-mon),cust_integral =yintegral WHERE cust_id=userid;
-- 商家的库存扣除数量,上传:购买数量,商品id,商品尺码
UPDATE tab_goodsdetail SET goods_stock=(goods_stock-gmon) WHERE goods_id=marchantid AND goods_size=size;
-- 订单表储存。上传:下单时间,下单金额,顾客id,店铺id,地址id
INSERT INTO tab_order VALUES (NULL,dtime,dmon,NULL,clieid,storeid ,addrid);
-- 交易记录储存。上传:交易类型,交易金额,顾客id=上一个条件的顾客id
INSERT INTO tab_cashlog VALUES (NULL,integral ,zmon,clieid);
END $
将varchar给上相应的长度就创建成功了(为了保险起见,传递的值的类型建议和数据库列名的类型一致),希望对一些人能有帮助
最后
以上就是美满鞋垫为你收集整理的MySQL报错:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server的全部内容,希望文章能够帮你解决MySQL报错:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复