Insertion dans plusieurs tables MySQL à l'aide de transactions
L'insertion de données dans plusieurs tables à l'aide d'une seule requête MySQL n'est pas directement possible. Cependant, il existe de meilleures façons d'obtenir le même résultat.
Utilisation des transactions
Les transactions vous permettent de regrouper plusieurs instructions MySQL en une seule unité de travail. Si l'une des instructions de la transaction échoue, la transaction entière est annulée, garantissant ainsi l'intégrité des données. Voici comment utiliser une transaction pour insérer des données dans plusieurs tables :
BEGIN; INSERT INTO users (username, password) VALUES ('test', 'test'); INSERT INTO profiles (userid, bio, homepage) VALUES (LAST_INSERT_ID(), 'Hello world!', 'http://www.stackoverflow.com'); COMMIT;
Autres considérations
INSERT ... SELECT LAST_INSERT_ID() INTO @mysql_variable_here; INSERT INTO table2 (@mysql_variable_here, ...);
Avertissement
Lors de l'utilisation de transactions, il est crucial de considérer les conséquences si l'exécution est interrompue pendant le processus. Si des insertions partielles ou des lignes manquantes dans une table sont inacceptables, vous devez envelopper l'ensemble du processus dans une transaction.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!