テーブルが存在しない場合は1回だけ作成します。このコードは毎回新しいテーブルを作成しますか?はいの場合、どうすればそれを防ぐことができますか?php Mysql CREATE TABLE 1回だけ存在しない場合
$queryCreateUsersTable = "CREATE TABLE IF NOT EXISTS EmailList (
`ListName` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`FirstName` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`Email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`ID` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`IP` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`ConfirmedEmail` tinyint(1) DEFAULT NULL,
`Subscribed` tinyint(1) DEFAULT 0,
UNIQUE KEY `ID` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;";
if(!$conn->query($queryCreateUsersTable))
{
echo "Table creation failed: (" . $dbConnection->errno . ") " . $dbConnection->error;
}
あまりにも簡単なので、私はこのトピックをオフトピックとして閉じるよう投票しています! OPはこれを2回実行して見つけなければなりませんでした! – e4c5
毎日実行されるコードでそれを行うのは意味がありません。無駄な 'CREATE TABLE IF NOT EXISTS'クエリをたくさん行うでしょうし、またPHPユーザがそうする権利を持っていることを意味します(非常に危険です)。あなたは "初期化"領域でそれを行う必要があります。 – Xenos
テストしましたか? –