|
Bas de page | |
---|---|
Auteur | Sujet : Violation volontaire de contrainte d'unicité |
saint malo | Hello, Je veux faire en sorte qu'un script insère des entrées dans ma base de données, sauf si ces entrées existent déjà (auquel cas il ne fait rien). Le premier truc auquel j'ai pensé consistait à vérifier, entrée par entrée, si il n'y a pas déjà une ligne identique qui existe dans la table, si oui, ne rien faire, et si non, ajouter. Sauf qu'à chaque fois que mon script tournera, la plupart de ce que je tenterai d'insérer existera déjà (les nouveautés seront l'exception plutôt que la règle), du coup ça fait beaucoup de requêtes pour rien je trouve. Le moyen le plus efficace (pour limiter le nombre de requêtes SQL) auquel j'arrive à penser consiste à mettre une contrainte d'unicité sur un ou plusieurs de mes champs, insérer tout un array de données (enfin plutôt une matrice comme ça, en fait) d'un coup dans la table, avec un IGNORE au milieu, dans l'espoir que pour les lignes qui n'existent pas déjà, elles soient ajoutés, et pour les autres qui existent déjà, rien ne se passe. (Si je dis pas de bêtises, il me semble que ça fait une seule grosse requête et que c'est mieux que plein de petites requêtes) Questions : Merci d'avance Message édité par saint malo le 29-05-2015 à 10:22:42 |
Publicité | Posté le 29-05-2015 à 03:39:40 |
flo850 moi je | -oui
--------------- |
saint malo | Taupe !
|
saint malo | J'ai pas bien compris ce que fait et comment fonctionne cette deuxième solution pour être honnête Petite question sur la solution que j'ai envisagée : est-ce qu'il y a un moyen de dire à ma base "tente d'insérer ces 5 entrées, si les 5 sont insérées, très bien, mais si au moins l'une des 5 existe déjà, n'ajoute aucune des 5 entrées et dis moi laquelle était conflictuelle" ? Message cité 1 fois Message édité par saint malo le 14-06-2015 à 03:41:02 |
Tibar | Salut, Tu peux regarder ici : http://stackoverflow.com/questions [...] sql-server Il y les 3 méthode expliquées... Ce que j'ai écrit se lit comme ça : |
saint malo |
|
lasnoufle La seule et unique! |
--------------- C'était vraiment très intéressant. |
Publicité | Posté le 17-06-2015 à 16:28:31 |
saint malo | Okidoki, merci pour vos réponses.
|
saint malo |
|
saint malo | Par sécurité, je vais quand même mettre des trim partout où ça a du sens, on verra... |