Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - Wie man mit Fremdschlüsseln in mehrere Tabellen einfügt

Sie können dies auf 3 Arten tun:

Erste &empfohlen. VERWENDEN VON SELECT IM WERT EINFÜGEN:

Zweite. USING LAST_INSERT_ID IN THE INSERT VALUE:

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

Dritter. PHP-SKRIPT VERWENDEN

<?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 );
?>