Sur la clé en double ne rien faire
-
31-10-2019 - |
Question
J'inserte dans le tableau suivant en utilisant Luasql avec l'API Ptokax.
CREATE TABLE `requests` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`ctg` VARCHAR(15) NOT NULL,
`msg` VARCHAR(250) NOT NULL,
`nick` VARCHAR(32) NOT NULL,
`filled` ENUM('Y','N') NOT NULL DEFAULT 'N',
`dated` DATETIME NOT NULL,
`filldate` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `nick_msg` (`nick`, `msg`),
UNIQUE INDEX `ctg_msg` (`ctg`, `msg`)
)
COMMENT='Requests from users in any of the categories.'
COLLATE='utf8_general_ci'
ENGINE=MyISAM;
Maintenant, mon problème est, lorsqu'un utilisateur (représenté par nick
) essaie à nouveau d'insérer la même demande, le UNIQUE
L'index est vérifié et le script renvoie un faux. Cela fait échouer mon script et je dois redémarrer le script.
Y a-t-il quelque chose que je peux faire dans le
INSERT ... ON DUPLICATE KEY
commande de manière à ne rien faire ou au moins ne renvoie pas d'erreur dans le cas deDUPLICATE KEY
?
Sinon, je devrais aller pour mettre à jour mon dated
champ avec le nouveau DATETIME
évaluer.
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange