Mysql
 sql >> Base de données >  >> RDS >> Mysql

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

Essayez ceci

$query = "SELECT ID FROM USERS";
$result = mysqli_query($dbConnection, $query);

if(empty($result)) {
                $query = "CREATE TABLE USERS (
                          ID int(11) AUTO_INCREMENT,
                          EMAIL varchar(255) NOT NULL,
                          PASSWORD varchar(255) NOT NULL,
                          PERMISSION_LEVEL int,
                          APPLICATION_COMPLETED int,
                          APPLICATION_IN_PROGRESS int,
                          PRIMARY KEY  (ID)
                          )";
                $result = mysqli_query($dbConnection, $query);
}

Cela vérifie s'il y a quelque chose dans la table et s'il renvoie NULL vous n'avez pas de table.

Il n'y a pas non plus de BOOLEAN type de données dans mysql, vous devez INT et réglez-le simplement sur 1 ou 0 lors de l'insertion dans le tableau. Vous n'avez pas non plus besoin de guillemets simples autour de tout, juste au moment où vous codez en dur des données dans la requête.

Comme ça...

$query = "INSERT INTO USERS (EMAIL, PASSWORD, PERMISSION_LEVEL, APPLICATION_COMPLETED, APPLICATION_IN_PROGRESS) VALUES ('[email protected]', 'fjsdfbsjkbgs', 0, 0, 0)";