sql >> Databáze >  >> RDS >> Mysql

CREATE TABLE IF NOT EXISTS se nezdaří, protože tabulka již existuje

Zkuste toto

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

Tím se zkontroluje, zda je něco v tabulce a zda vrací NULL nemáte stůl.

Také zde není BOOLEAN datatype v mysql, měli byste INT a při vkládání do tabulky ji stačí nastavit na 1 nebo 0. Také nepotřebujete jednoduché uvozovky kolem všeho, stačí, když do dotazu pevně zakódujete data.

Takhle...

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


  1. Co je omezení primárního klíče v databázi SQL Server - SQL Server / Výukový program T-SQL, část 54

  2. Max_connections v MySQL 5.7

  3. Nasazení a údržba PostgreSQL s Ansible

  4. jak zadat stejné sériové číslo pro skupinu záznamů v mysql