MySQL Duplicate Primary Key Ошибка при обновлении - PullRequest
0 голосов
/ 25 сентября 2018

По какой-то причине, когда я пытаюсь обновить запись в моей таблице, я получаю сообщение об ошибке «Дублирующая запись« 5687 »для ключа« ПЕРВИЧНЫЙ »».Мой запрос:

UPDATE 
    `patients` 
SET
    first_name=AES_ENCRYPT('Floyd','mykey'),
    last_name=AES_ENCRYPT('Resler','mykey'),
    birthdate='1899-01-01 00:00:00',
    sex='M',
    account=AES_ENCRYPT('123-456-789','mykey'),
    user_id='0',
    hospital_id='2' 
WHERE 
    patient_id='5687'

Это происходит при любом обновлении этой таблицы.Я занимался MySQL в течение долгого времени и никогда не видел, чтобы это происходило в ОБНОВЛЕНИИ.Кстати, я не использую «mykey» в качестве ключа шифрования!

EDIT Вот мой вывод CREATE TABLE:

CREATE TABLE `patients` (
  `patient_id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(255) NOT NULL DEFAULT '',
  `last_name` varchar(255) NOT NULL DEFAULT '',
  `birthdate` date NOT NULL DEFAULT '0000-00-00',
  `sex` char(1) NOT NULL DEFAULT '',
  `date_stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `account` varchar(255) NOT NULL DEFAULT '',
  `user_id` int(11) NOT NULL,
  `deleted` bit(1) NOT NULL,
  `hospital_id` int(11) NOT NULL,
  `deleted_by_id` int(11) NOT NULL,
  `deleted_date` datetime NOT NULL,
  `no_piccs` int(11) NOT NULL,
  `deceased` tinyint(4) DEFAULT '0',
  `converted` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`patient_id`),
  KEY `fname` (`first_name`),
  KEY `lname` (`last_name`),
  KEY `deleted` (`deleted`),
  KEY `hospital_id` (`hospital_id`)
) ENGINE=MyISAM AUTO_INCREMENT=5938 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC

Я дважды проверил, чтобы убедиться, что нетдубликаты Patient_ids.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...