1

除了事务和存储过程之外,是否可以在同一语句中组合更新和插入查询。

例如:有时我想更新表 1 中的记录以及插入表 2 中的数据。

4

2 回答 2

2

可以使用

multi_query

你可以在这里找到更多关于它的信息

像这样的东西

 $link = mysqli_connect("server", "user", "pass", "db");

 if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
 }


$testquery .= "INSERT INTO x (`agent_name`, `job_number`, `job_value`, `points_value`) SELECT agent_name, job_number, job_value, points_value FROM jobs WHERE YEAR(booked_date) = $current_year && WEEKOFYEAR(booked_date) = $weeknum;";

$testquery .= "SELECT agent_name, SUM(job_value), SUM(points_value) FROM leaderboard GROUP BY agent_name ORDER BY SUM(points_value) DESC";

mysqli_multi_query($link, $testquery) or die("MySQL Error: " . mysqli_error($link) . "<hr>\nQuery: $testquery");
于 2013-04-23T08:42:12.060 回答
0

您只需键入它,mysqli 就会自动读取它。喜欢

@mysql_query("INSERT INTO x (`name`,`age`) VALUES ('me','21')");
@mysql_query("UPDATE y SET `status`='verified' WHERE `name`='me'");
于 2013-04-23T09:15:22.603 回答