Completer une table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Completer une table

par Sékiltoyai » 04 mai 2007, 20:14

Essaye ca :

Code : Tout sélectionner

ALTER TABLE nom_table ADD UNIQUE nom_cle (colonne1, colonne2, colonne3, ...);

par orgerix » 04 mai 2007, 19:36

Merci beaucoup.

Sinon, comment faire si on veut que ca soit la réunion de deux champs qui doit être unique (en gros, comment mettre une clefs sur deux champs) ?

par Sékiltoyai » 03 mai 2007, 20:09

Crée des clés PRIMARY ou UNIQUE sur chaque colonne qui doit rester unique, et insère tes données avec INSERT IGNORE ... , ca ignorera tous les enregistrements qui font doublon. C'est mieux de faire comme ca puisque ca économise au serveur pas mal d'opérations.
Pour plus, d'infos : http://dev.mysql.com/doc/refman/5.0/fr/insert.html

par orgerix » 03 mai 2007, 19:03

exemple, j'ai une liste avec par exemple dupont durant et martin et dans ma table j'ai dupont et durant. Je ne veux pas insérer la liste telle quelle parce que sinon je vais avoir des doublet (et en plus c'est pas possible car j'ai mis une clé primaire)

Donc j'aimerai insérer que martin. Donc, est ce que un traitement SQL est adapté (je ne peux pas faire de procédure) ou alors faut il que je me rabatte sur PHP.

Si ca a une influance, ma table est prévu pour avec quelques milliers d'entrée et ma liste une centaine.

par Sékiltoyai » 03 mai 2007, 18:11

Ca me parait bizarre ton problème, je trouve une table temporaire assez bourrin, tu ne peux pas expliquer exactement ce que tu veux faire ? Il y a peut être une autre solution.

Completer une table

par orgerix » 03 mai 2007, 17:20

Bonjour, j'ai une table avec dedans des noms de personnes et une liste généré grace à du PHP de nom.

J'aimerai insérer dans la table les noms qui n'existe pas déjà.

Donc pour l'instant, je vois comme solution de créer une table temporaire dans laquelle je mets la liste puis avec une jointure sur la table, je récupère les valeur qui n'existe pas que j'insere dans la table.

Cependant, j'ai plusieurs questions. Comment fait on une table temporaire ? Et est ce que l'on peut el faire avec MySQL ?

Ensuite, est ce possible en SQL d'insérer dans la table le résultat d'une requete ?

Enfin, est ce que cette solution est mieux qu'un traitement PHP avec rappatriement de la table, indexation de liste puis suppresion des index présent dans le résultat de la requete ?