Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Comment insérer dans plusieurs tables avec des clés étrangères

Vous pouvez le faire en 3 méthodes :

Premier et recommandé. EN UTILISANT SELECT DANS LA VALEUR D'INSERTION :

Seconde. UTILISATION DE LAST_INSERT_ID DANS LA VALEUR D'INSERTION :

INSERT INTO a (id)
     VALUES ('anything');
INSERT INTO user_details (id, weight, height)
     VALUES (LAST_INSERT_ID(),83, 185);

Troisième. UTILISATION DU SCRIPT PHP

<?php
// Connecting to database
$link = mysql_connect($wgScriptsDBServerIP, $wgScriptsDBServerUsername, $wgScriptsDBServerPassword, true);
if(!$link || [email protected]_SELECT_db($wgScriptsDBName, $link)) {
echo("Cant connect to server");
    exit;
}

// Values to insert
$name = 'John Smith';
$weight = 83;
$height = 185;

// insertion to user table
$sql = "INSERT INTO user (name) VALUES ('$name')";
$result = mysql_query( $sql,$conn );
// retrieve last id
$user_id = mysql_insert_id( $conn );
mysql_free_result( $result );

// insertion to user_details table
$sql = "INSERT INTO user_details (id, weight, height) VALUES ($user_id, $weight, $height)";
$result = mysql_query( $sql,$conn );
mysql_free_result( $result );
?>