php Mysql CREATE TABLE如果只存在一次

时间:2016-09-29 07:41:41

标签: php mysql mysqli

如果它不存在,我只想创建一次表。这段代码每次都会创建一个新表吗?如果是,我该如何预防?

$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;
}

2 个答案:

答案 0 :(得分:3)

CREATE TABLE IF NOT EXISTS表示只有在不存在时才会创建表。

答案 1 :(得分:2)

正如CREATE TABLE IF NOT EXISTS的含义一样。如果表不存在,则创建一个表。

因此,不是没有。