Navicatによって作成されたデータベースダンプからSQLiteデータベースにテーブルを作成しています。
私が実行している3つのCREATETABLEクエリのうち、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;
}