Comment bloquer l'INSERT INTO si 2 champs existent déja ? - SQL/NoSQL - Programmation
Marsh Posté le 31-03-2016 à 23:39:03
Il suffit de créer une clé primaire (ou un index de type unique) sur le couple de champs machine/winupdate
Si tu tentes un insert d'un couple déjà présent, l'insert échouera.
Marsh Posté le 29-03-2016 à 14:30:07
Bonjour,
Je cherche une solution pour empêcher de créer doublons dans une table d'inventaire des correctifs intallés sur une machine.
J'ai :
- une table : CREATE TABLE wumachine (id integer primary key, machine VARCHAR(30), winupdate VARCHAR(30), dateupdate VARCHAR(30));
- un script qui me genere ces incertions. C'est la liste des correctifs microsoft intallés sur une machine.
Etc...
INSERT INTO wumachine VALUES ('517','KB982861','5/19/2014');
INSERT INTO wumachine VALUES ('517','KB2830477','2/15/2016');
INSERT INTO wumachine VALUES ('517','KB2592687','2/15/2016');
INSERT INTO wumachine VALUES ('517','KB917607','4/30/2014');
etc...
machine = 517
winupdate = KB982861
dateupdate = 5/19/2014
Je peux bien sûr n'avoir la liste que sous format CSV...
Comment bloquer l'insertion de ligne si le champ "machine" et "winupdate" existe déja ?
L'idée c'est de n'ajouter que les nouvelles mises à jour installés sur la machine depuis le dernier inventaire.
Je travaille sur une base MySQL.
Ce n'est pas une base sensible donc pas de réel probleme de performance en cas de requettes un peu lourdes.
Merci pour vos propositions d'idées !
Bonne journée !
François.