Я хочу обновить строку, если она существует в таблице bag
, иначе вставить новую строку
эти типы столбцов, которые я использовал в скатерти
car_name : varchar
p_id : int
quantity : int
price_one_piece : int
Я делаю car_name
и p_id
в качестве основного (составной ключ)
Я пишу этот код в подпрограмме MySQL в xampp, и он сохраняет в xampp без ошибок, но когда я пытаюсь выполнить его в xampp, он выдает ошибку, которая говорит
Следующий запрос не выполнен: "SET @ p0 = 'mohamed'; SET @ p1 = '1'; SET @ p2 = '1'; SET @ p3 = '1'; CALL 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