Page 1 sur 1

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

Posté : 01 mars 2013, 02:13
par wwwbillgates
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
						));

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

Posté : 01 mars 2013, 09:43
par moogli
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

@+

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

Posté : 01 mars 2013, 16:02
par wwwbillgates
Ah ben oui en fait, moi qui cherchais compliqué :D Merci bonne journée