我正在从 Navicat 制作的数据库转储中创建 SQLite 数据库中的表。
在我正在运行的 3 个 CREATE TABLE 查询中,2 个失败,1 个有效 - 所以这不是权限/连接/配置问题。
这是SQL:
CREATE TABLE "servers" (
"id" INTEGER NOT NULL,
"name" TEXT(32) NOT NULL,
"type" INTEGER NOT NULL,
"host" TEXT(128) NOT NULL,
"port" INTEGER NOT NULL,
"rcon_port" INTEGER NOT NULL,
PRIMARY KEY ("id")
);
CREATE TABLE "config" ("built" INTEGER NOT NULL);
CREATE TABLE "users" (
"id" INTEGER NOT NULL,
"username" TEXT(32) NOT NULL,
"password" TEXT(64) NOT NULL,
"salt" TEXT(8) NOT NULL,
"last_login" INTEGER NOT NULL,
PRIMARY KEY ("id")
);
尝试运行它 - 仅config
创建表。
我可以用 Navicat 执行这个脚本并创建表 - 这在语法上有什么问题吗?
也没有错误/异常被抛出
PHP:
$path
并$sql
确认是正确的
$db_conn = 'sqlite:' . $path;
try {
$dbh = new PDO($db_conn);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->query(file_get_contents($sql);
} catch (Exception $e) {
var_dump($e);
exit;
}