Я использую следующую хранимую процедуру для обновления таблицы:
DELIMITER $$
CREATE DEFINER=`developer`@`localhost` PROCEDURE `update_patient`(IN `patient_id` INT(11), IN `name` VARCHAR(45), IN `surname` VARCHAR(45), IN `middle_name` VARCHAR(45), IN `email` VARCHAR(45), IN `phone` VARCHAR(45), IN `mobile` VARCHAR(45), IN `address_id` INT(11), IN `address_no` VARCHAR(8), IN `ID` VARCHAR(45), IN `DOB` DATE)
NO SQL
UPDATE
patient
SET name = name,
surname = surname,
middle_name = middle_name,
email = email,
phone = phone,
mobile = mobile,
address_id = address_id,
address_no = address_no,
ID = ID,
DOB = DOB
WHERE
patient_id = patient_id
LIMIT 1;
END$$
DELIMITER ;
Когда я пытаюсь вызвать ее через phpmyadmin
Я получаю ошибку: #1062 - Duplicate entry '844844' for key 'ID_UNIQUE'
844844
относится к полю ID
.У меня есть это поле в таблице patient
, и я хочу обновить данные пациента.Однако первичный ключ таблицы пациента - patiend_id
, а не ID
.
Знаете ли вы, как исправить ошибку?