CREATE TABLE SI NOT EXISTS échoue avec la table existe déjà

J'ai le code suivant:

$db_host = 'localhost';
$db_port = '3306';
$db_username = 'root';
$db_password = 'root';
$db_primaryDatabase = 'dsl_ams';

//Connect to the database, using the predefined database variables in /assets/repository/mysql.php
$dbConnection = new mysqli($db_host, $db_username, $db_password, $db_primaryDatabase);

//If there are errors (if the no# of errors is > 1), print out the error and cancel loading the page via exit();
if (mysqli_connect_errno()) {
    printf("Could not connect to MySQL databse: %s\n", mysqli_connect_error());
    exit();
}

$queryCreateUsersTable = "CREATE TABLE IF NOT EXISTS `USERS` (
    `ID` int(11) unsigned NOT NULL auto_increment,
    `EMAIL` varchar(255) NOT NULL default '',
    `PASSWORD` varchar(255) NOT NULL default '',
    `PERMISSION_LEVEL` tinyint(1) unsigned NOT NULL default '1',
    `APPLICATION_COMPLETED` boolean NOT NULL default '0',
    `APPLICATION_IN_PROGRESS` boolean NOT NULL default '0',
    PRIMARY KEY  (`ID`)
)";

if(!$dbConnection->query($queryCreateUsersTable)){
    echo "Table creation failed: (" . $dbConnection->errno . ") " . $dbConnection->error;
}

Sorties...

Table creation failed: (1050) Table 'dsl_ams.UTILISATEURS' already exists

Ce que je ne comprends pas, c'est: n'est-ce pas IF NOT EXISTS censé annuler l'exécution de la requête SQL si la table existe déjà? En d'autres termes, si la table existe, ne devrait-elle pas sortie que si la déclaration et de ne pas l'écho de rien du tout, et de ne pas tenter l'exécution de la requête?

Juste essayer de trouver la meilleure façon de "créer une table si elle n'existe pas" sans sortie de quelque chose à l'utilisateur.

source d'informationauteur Samuel Stiles