J'ai une table avec un champ unique uniq_field. quelle méthode ajouter est mieux - d'abord vérifier si l'enregistrement avec une valeur unique existe ou simplement ajouter un enregistrement et mysql va vérifier par lui-même?champ unique mysql
Répondre
cela dépend de l'action que vous prenez va en cas de double
solutions possibles peuvent être affichées dans un tel code pseudo
switch action
case "do nothing":
INSERT IGNORE
case "delete existing then add new one":
REPLACE INTO
case "update existing":
ON DUPLICATE UPDATE
default:
select first and then apply necessary logic
Cela dépend de la façon dont vous voulez le gérer dans votre code. Si vous voulez simplement vous assurer que cet élément existe, vous pouvez faire ce qu'on appelle une mise à jour de clé en double - ce qui signifie que la ligne est remplacée si elle est déjà présente - mais si ce n'est pas le cas, elle est mise à jour.
En savoir plus sur ce sujet ici: http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html
bien pour cette table
+--------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
| id | int(11) | NO | PRI | 0 | |
| unique | int(11) | NO | UNI | NULL | |
+--------+---------+------+-----+---------+-------+
Ce code renvoie false
$result = mysql_query("insert into tab1 values(1, 1), (2, 1)");
echo ($result)?($result):"false";
Bien que ce code renvoie 1
$result = mysql_query("insert into tab1 values(1, 1), (2, 2)");
echo ($result)?($result):"false";
Il semble que si vous voulez afficher un message, vous devez vérifier les valeurs que vous base de données et affiche une erreur. Si vous ne voulez pas afficher ce qui a réellement causé et erreur, vous pouvez directement interroger.
- 1. Champ unique de la base de données MySQL (non unique)
- 2. mysql - tables syndicales par champ unique
- 3. mysql tri champ unique dans plusieurs commandes
- 4. Mysql DB champ unique correspondant à plusieurs autres champs
- 5. Mysql - Affichage de la dernière entrée de chaque champ unique
- 6. nombre de valeur unique de virgule champ séparé (PHP - MySQL)
- 7. champ unique de la base de données mysql à php
- 8. mysql: définition d'un index unique pour le champ d'auto-incrément
- 9. Importer un fichier texte Champ unique dans MySQL
- 10. OrientDB bean champ unique
- 11. champ Sails.js composite unique,
- 12. Random unique Mysql Id
- 13. INSERT valeur unique à MYSQL
- 14. MySQL multi-field unique index
- 15. Champ Mysql unique basé si un autre champ est le même
- 16. PHP Champ de texte unique?
- 17. asp.net mvc datannotation champ unique
- 18. MySQL requête unique possible?
- 19. MySQL string colonne unique,
- 20. MySQL - Clé étrangère unique
- 21. ID unique pour mysql
- 22. Colonne Un-UNIQUE mysql
- 23. MySQL composite unique sur
- 24. Contrainte unique dans MySQL
- 25. MySQL chute unique paire
- 26. connexion unique MySQL serveur
- 27. mysql clé unique
- 28. MySQL JOIN Unique
- 29. Clé unique dans MySql
- 30. mySQL Contrainte unique
cela dépend de l'action que vous allez prendre en cas de doublon –
si DUPLICATE alors rien ajouter – kusanagi