-3
我只想創建一次表,如果它不存在。這段代碼每次都會創建一個新表嗎?如果是的話,我該如何預防呢?php Mysql創建表如果不存在只有一次
$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只需要運行兩次就可以知道! – e4c5
在日常執行的代碼中做這件事毫無意義:你會做很多無用的「CREATE TABLE IF NOT EXISTS」查詢,這也意味着PHP用戶有權這樣做(非常危險)。您應該在「初始化」區域中執行此操作。 – Xenos
你測試過了嗎? –