[RESOLU] Faire un INSERT INTO seuleument si l'entré n'existe pas ?

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 : [RESOLU] Faire un INSERT INTO seuleument si l'entré n'existe pas ?

Re: [RESOLU] Faire un INSERT INTO seuleument si l'entré n'ex

par wwwbillgates » 01 mars 2013, 16:02

Ah ben oui en fait, moi qui cherchais compliqué :D Merci bonne journée

Re: Faire un INSERT INTO seuleument si l'entré n'existe pas

par moogli » 01 mars 2013, 09:43

Salut,

Solution universelle : compter le nombre de tuples avec ces entrées : select count(*) from ... Where ....
Et si le résultat est zero faire l'insert.

Solution mysql : utiliser replace qui fera un insert ou un update.
Problème : il faut que la clef primaire soit déjà connue, si c'est un auto incrément tu aura du mal ;)

Perso je prendrais la première

@+

Faire un INSERT INTO seuleument si l'entré n'existe pas ?

par wwwbillgates » 01 mars 2013, 02:13

Bonjour, je souhaiterai faire un INSERT INTO seuleument lorsque les entrés dans ma table n'existe pas déjà afin d'éviter les doublons. J'ai essayé pas mal de trucs mais je n'y arrive pas :(
$sql_collab_facture = $bdd->prepare("
						INSERT INTO admin_collaborateurs_factures 
						VALUES(:id_collaborateur, :numero_facture, :total_tva, :total_ttc, '')
						");
$sql_collab_factures->execute(array(
						'id_collaborateur' => $_SESSION['id_collaborateur'],
						'numero_facture' => $date_de_facture_choisi,
						'total_tva' => $total_tva,
						'total_ttc' => $net_a_payer
						));