1

我将 PHP 与 OO MySQLi 一起使用。连接已经打开,但现在我需要禁用 FOREIGN_KEY_CHECKS 并设置 SQL_MODE。然后我需要在一系列脚本之后重新启用 FOREIGN_KEY_CHECKS。

如果我在 MySQL 中完成这一切,它看起来像这样:

INSERT INTO my_table VALUES ('foreign', 'key', 'violation'); -- prevented

SET SESSION sql_mode='NO_AUTO_VALUE_ON_ZERO';
SET foreign_key_checks = 0;
INSERT INTO my_table VALUES ('foreign', 'key', 'violation'); -- allowed
SET foreign_key_checks = 1;

INSERT INTO my_table VALUES ('foreign', 'key', 'violation'); -- prevented
4

1 回答 1

1

只需使用 mysqli_query() 分别运行每个语句。

sql_mode 和 foreign_key_checks 设置是基于会话的,因此它们一直有效,直到您将它们更改回来,或者结束会话。

于 2013-08-28T17:39:46.270 回答