gpt4 book ai didi

PHP MySQL - 将记录移动到另一个表,选择,插入,删除

转载 作者:行者123 更新时间:2023-11-29 00:15:22 25 4
gpt4 key购买 nike

我有两个结构相同的表。我正在尝试将整个记录从一个表移动到另一个表,然后从源表中删除。如果我分别执行这两个语句,它会起作用,即选择和插入 2. 删除。

如何将这两个sql语句组合起来,使两个语句都在一个语句中,并且可以一个接一个地执行。到目前为止,这是 mysql 语句,它没有执行

$q="  INSERT INTO archived (SELECT * FROM table1 WHERE id='$id') ;

DELETE FROM table1 WHERE id='$id'; ";

最佳答案

您可以使用一个 SQL 语句字符串执行多个 SQL 语句,方法是用分号分隔它们并将最终语句传递给 mysqli_multi_query()功能。

$con = new mysqli('localhost', 'user', 'pass', 'demo');
// username is user , password is pass ,connecting to the demo database on the localhost host:
if($con->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}

$sql = "INSERT INTO archived SELECT * FROM table1 WHERE id='$id';";
$sql .= "DELETE FROM table1 WHERE id='$id'; ";

if (!$mysqli->multi_query($sql)) {
echo "Multi query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
else{
echo "Executed successfully";
}

你可以做到

function mysql_multiquery($queries,$conn)
{
$queries = explode(";", $queries);
foreach ($queries as $query)
$query = mysql_query(trim($query),$conn);

}

调用函数

mysql_multiquery($sql,$conn);

关于PHP MySQL - 将记录移动到另一个表,选择,插入,删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23170953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com