如果表中存在行,我想更新行 bag
否则插入新行
这些类型的列,我用它在表袋
car_name : varchar
p_id : int
quantity : int
price_one_piece : int
我使 car_name
以及 p_id
作为主键(复合键)
我在xampp的mysql例程中编写了这段代码,它保存在xampp中没有错误,但是当我尝试在xampp中执行它时,它会出错
以下查询失败:“set@p0='mohamed';设置@p1='1';设置@p2='1';设置@p3='1';呼叫 bag_insert
(@p0,@p1,@p2,@p3);“mysql说:
# 1062 - Duplicate entry 'car_name-1' for key 'PRIMARY'
代码:
IF EXISTS(SELECT * FROM bag WHERE p_id = p_id and `car_name`= car_name)THEN
UPDATE bag set`car_name`='car_name',`p_id`=p_id,`quantity`=quantity,`price_one_piece`=price_one_piece WHERE `p_id`=p_id;
ELSE
INSERT INTO bag (car_name,p_id,quantity,price_one_piece) VALUES (car_name,p_id,quantity,price_one_piece);
END IF
1条答案
按热度按时间kx5bkwkv1#
我用电脑解决了这个问题
我找到了解决办法https://chartio.com/resources/tutorials/how-to-insert-if-row-does-not-exist-upsert-in-mysql/