Insérer une valeur déjà existante dans une Primary Key

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 : Insérer une valeur déjà existante dans une Primary Key

par Gosth35 » 03 déc. 2007, 22:59

Ok d'accord, tu est mon dieu pour la soirée :agenouille: :agenouille: :agenouille:

Merci, je bosse sur des iptables gérées pas BdD, et comme je n'ai que des notions en SQL ...

Bonne soirée =D>

par zeus » 03 déc. 2007, 22:56

Tu peux tout faire en une seule requête ;)

Code : Tout sélectionner

UPDATE leNomDeTaTable SET champ = champ+1 WHERE champ >= laValeurQueTuVeuxInserer

par Invité » 03 déc. 2007, 22:52

C'est exactement cela !!

Bien formulé, je n'aurai pas trouvé mieux :)

Seulement voila, avec une boucle j'arriverai à le faire, mais existe t'il une fonction faisant de même ?

par zeus » 03 déc. 2007, 22:45

OK, c'est toi qui vois ;)

Donc, dans l'idée, ce que tu recherches à faire, c'est d'incrémenter (ajouter 1) à tous les enregistrements dont la valeur est supérieure ou égale à la valeur à insérer.
Il ne te reste plus qu'à traduire cette phrase en une requête SQL pour faire ce que tu demandes ;)

par Invité » 03 déc. 2007, 22:41

Bonjour,

admettons que ce n'est pas l'id que je veux modifier , mais une autre clé ...
:-k

par zeus » 03 déc. 2007, 22:33

Tiens, un peu de lecture : Pourquoi ne pas modifier un identifiant ;)

Insérer une valeur déjà existante dans une Primary Key

par Gosth35 » 03 déc. 2007, 22:04

Bonjour,

j'ai un petit soucis avec ma BdD SQL.

La table a été déclarée comme suis:

Code : Tout sélectionner

CREATE TABLE IF NOT EXISTS snoop_rules ( id INT( 100 ) NOT NULL AUTO_INCREMENT, int_LAN VARCHAR (5), PRIMARY KEY ( `id` )) ENGINE = MYISAM ;
Prenons l'exemple où j'ai déjà 5 entrées de créer, donc avec des id de 1 à 5.
Je veux insérer une nouvelle entrée, avec en paramètre un n° d'ID déjà existant (par exemple id=2).

Existe-il une commande permettant de décaler automatique les id déjà existant de 1; par exemple:
le 1 reste 1
le 2 devient 3
le 3 devient 4
le 5 devient 5
le 6 devient 6
et un id=2 est alors insére.


J'espère avoir été clair.
Merci pour vos réponses.

Gosth35