3 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
好吧,根據(jù)php doc,您是對(duì)的。
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("CREATE TABLE Language LIKE CountryLanguage");
/* set autocommit to off */
$mysqli->autocommit(FALSE);
/* Insert some values */
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");
/* commit transaction */
$mysqli->commit();
/* drop table */
$mysqli->query("DROP TABLE Language");
/* close connection */
$mysqli->close();
?>
在上面的示例中:
的CREATE TABLE是自動(dòng)提交,因?yàn)樗悄J(rèn)的行為。
在INSERT INTO 沒有自動(dòng)致力于因?yàn)閍utocommit(FALSE)。
的DROP TABLE是自動(dòng)提交,因?yàn)閍utocommit(FALSE)被重置通過->commit();。

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
j0k主要是正確的,除了在放置表中。
沒有使用-> commit()打開自動(dòng)提交
相反,DROP TABLE是DDL查詢,并且DDL查詢始終是隱式提交的,并且將提交所有以前未提交的工作。
因此,如果您未提交工作,則DDL查詢將強(qiáng)制執(zhí)行此提交。
添加回答
舉報(bào)