Mysql
 sql >> Datenbank >  >> RDS >> Mysql

CREATE TABLE IF NOT EXISTS schlägt fehl, wenn die Tabelle bereits existiert

Versuchen Sie dies

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

Dies überprüft, ob sich etwas in der Tabelle befindet und ob es NULL zurückgibt Sie haben keinen Tisch.

Auch gibt es kein BOOLEAN Datentyp in MySQL, sollten Sie INT und beim Einfügen in die Tabelle einfach auf 1 oder 0 setzen. Sie brauchen auch keine einfachen Anführungszeichen um alles herum, nur wenn Sie Daten fest in die Abfrage codieren.

So...

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