sql语句

whitzsjs  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(343)

这个问题在这里已经有答案了

mysqli:它能在一个语句中准备多个查询吗(2个答案)
9个月前关门了。
我目前正在做一个项目,在一定的条件下,表a的内容将被总结并插入到表B中,然后一个新行将被插入到表a中。然而,我创建的语句似乎不能用php编写,尽管实际的查询在sql中运行良好。有人能告诉我怎么做才能解决这个问题吗?

$insert = "INSERT INTO DATABASE.TableB(ColumnB2, ColumnB3, ColumnB4, ColumnB5)
           SELECT DATE(MAX(ColumnA2)), MIN(ColumnA3), MAX(ColumnA3), AVG(ColumnA3) 
           FROM DATABASE.TableA
           ;

           DELETE 
           FROM DATABASE.TableA
           ;

           ALTER TABLE DATABASE.TableA AUTO_INCREMENT = 1
           ;

           INSERT INTO DATABASE.Current_Level(ColumnA2, ColumnA3)
           VALUES(CURRENT_TIMESTAMP, ?)
           ;";

$stmt = mysqli_stmt_init($conn);

if (!mysqli_stmt_prepare($stmt, $insert))
{
    echo "Error";
}
else
{
    mysqli_stmt_bind_param($stmt, "d", $ColumnA2);
    mysqli_stmt_execute($stmt);
}
ldxq2e6h

ldxq2e6h1#

不能为多个sql语句创建准备好的语句。您需要为每个sql语句创建一个准备好的语句。每条sql语句用分号分隔 ; 根据php文档:
不支持将multiple语句与prepared语句一起使用。
https://www.php.net/manual/en/mysqli.quickstart.multiple-statement.php

相关问题