簡體   English   中英

SQL從一個表插入ID到另一個表中的條目

[英]Sql insert id from one table to entry in another

我的數據庫中有兩個表。 當我在第一個表中插入記錄時,我需要獲取由Mysql自動生成的id ,並將其添加到第二個表中的新記錄中。

因此,我需要從此記錄中獲取id

$sql = "INSERT INTO movies (title, year, format);

並將其放入此記錄中:

$sql = "INSERT INTO actors(name, last_name, movi_id);
-----------------------------------------------^
                                              HERE

使用下面的內置PHP函數從上一次插入查詢中獲取ID:

mysqli_insert_id();

您的代碼必須如下所示才能解決您的問題:

$sql = "INSERT INTO movies (title, year, format) VALUES ($title, $year, 
$format)";    
$movi_id = mysqli_insert_id();
$sql = "INSERT INTO actors(name, last_name, movi_id) VALUES ($name, 
$last_name, $movi_id)";

最好在Prepared Statements中編寫上述查詢,以使其更加安全

// prepare and bind Movies Query
$queryMovies = $conn->prepare("INSERT INTO movies (title, year, format) 
VALUES (?, ?, ?)");
$queryMovies->bind_param("sss", $title, $year, $format);

// execute Movies Query
$queryMovies->execute();

// Get last inserted Id of Movies Query
$movi_id = $queryMovies->insert_id;

// prepare and bind Actors Query
$queryActors = $conn->prepare("INSERT INTO actors (name, last_name, movi_id) 
VALUES (?, ?, ?)");
$queryActors->bind_param("sss", $name, $last_name, $movi_id);

// execute Actors Query
$queryActors->execute();

// Close Connections
$queryMovies->close();
$queryActors->close();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM