nolog Posté 20 Mars 2006 Posté 20 Mars 2006 Salut tt le monde est ce possible de faire des insertions sur plusieurs tables avec une seule requete INSERT ? merci d'avance
Spidetra Posté 20 Mars 2006 Posté 20 Mars 2006 (modifié) je ne pense pas : INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] la syntaxe ne prend qu'une seule table et non pas une liste de table. Pour l'exemple j'ai pris la syntaxe mySQL, mais je pense que c'est pareil pour les autres SGBDR. Modifié 20 Mars 2006 par anorci
destroyedlolo Posté 22 Mars 2006 Posté 22 Mars 2006 La solution la plus standard que je vois est d'utiliser une transaction : BEGIN tous tes inserts COMMIT Ca marchera quelque soit la base de donnee (enfin, pour peu qu'elle soit civilise bien sur )
petit-ourson Posté 22 Mars 2006 Posté 22 Mars 2006 La solution la plus standard que je vois est d'utiliser une transaction : BEGIN tous tes inserts COMMIT Ca marchera quelque soit la base de donnee (enfin, pour peu qu'elle soit civilise bien sur ) <{POST_SNAPBACK}> Il faut comprendre que cela ne marchera pas sous MySQL < 5.0 à moins de travailler avec des tables en InnoDB.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant