PDO+SQLite 不会在一个查询中运行多个语句


PDO+SQLite does not run multiple statements in one query?

我正在使用PDO+SQLite运行以下SQL:

CREATE TABLE default_field_values (intfield INT NOT NULL, floatfield FLOAT NOT NULL, boolfield TINYINT NOT NULL);
CREATE INDEX somename ON default_field_values (intfield,floatfield);

当将其提供给 PDO::query 方法时,会创建一个表,但它最终没有索引。当通过sqlite3 CLI运行SQL时,它会按预期工作。运行 MySQL 时也不会发生此问题。

文档说:

PDO::query() 执行一个 SQL 语句

它确实执行了一个SQL语句。

PDO 不是 CLI。如果要执行多个语句,请使用多个query调用。