Mysql
 sql >> Database >  >> RDS >> Mysql

CREATE TABLE IF NOT EXISTS non riesce con la tabella già esistente

Prova questo

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

Questo controlla se c'è qualcosa nella tabella e se restituisce NULL non hai un tavolo.

Inoltre non esiste BOOLEAN datatype in mysql, dovresti INT e impostalo su 1 o 0 quando lo inserisci nella tabella. Inoltre, non hai bisogno di virgolette singole su tutto, solo quando stai codificando i dati nella query.

Così...

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