我在使用表的AUTO_INCREMENT时遇到问题,所以我创建了一个触发器来尝试解决问题
CREATE DEFINER=`medplantoes01`@`%` TRIGGER `medplantoes01`.`MEDICO_BEFORE_INSERT` BEFORE INSERT ON `MEDICO` FOR EACH ROW
BEGIN
SET NEW.id_medico = (select max(id_medico) + 1 from MEDICO);
END
但是我在插入时收到此消息:
在列ID_MEDICO上取消选中错误号码:1062重复录入' 0'关键' PRIMARY'
AUTO_INCREMENT选项,但即使使用此选项,我也会收到相同的消息。
使用MySQL 5.7
PS:对不起我的英文:P
答案 0 :(得分:0)
好的,我不会说葡萄牙语,但我可以解读这个......
NEW.id_medico = (select max(id_medico) + 1 from MEDICO);
这不起作用。如果两个客户端同时尝试插入,则会获得重复的ID。这是一个非常非常糟糕的主意。不要这样做。
AUTO_INCREMENT旨在解决此问题。用它。你说它不起作用:解释如何。
用英语......