Desidero proteggere alcune righe dall'eliminazione e preferisco farlo utilizzando i trigger anziché la logica della mia applicazione. Sto usando il database MySQL.Proteggi riga da eliminazione in MySQL
Quello che mi è venuto in mente è questa:
DELIMITER $$
DROP TRIGGER `preserve_permissions`$$
USE `systemzarzadzaniareporterami`$$
CREATE TRIGGER `preserve_permissions`
AFTER DELETE ON `permissions`
FOR EACH ROW
BEGIN
IF old.`userLevel` = 0 AND old.`permissionCode` = 164 THEN
INSERT INTO `permissions` SET `userLevel`=0, `permissionCode`=164;
END IF;
END$$
DELIMITER ;
ma mi dà un errore quando uso cancellare:
DELETE FROM `systemzarzadzaniareporterami`.`permissions`
WHERE `userLevel` = 0 AND `permissionCode` = 164;
Error Code: 1442. Can't update table 'permissions' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
C'è un altro modo di fare una cosa simile?