Mysql
 sql >> Baza danych >  >> RDS >> Mysql

CREATE TABLE IF NOT EXISTS kończy się niepowodzeniem, ponieważ tabela już istnieje

Wypróbuj to

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

To sprawdza, czy coś jest w tabeli i czy zwraca NULL nie masz stolika.

Również nie ma BOOLEAN datatype w mysql, powinieneś INT i po prostu ustaw go na 1 lub 0 podczas wstawiania do tabeli. Nie potrzebujesz też pojedynczych cudzysłowów wokół wszystkiego, tylko wtedy, gdy na stałe zakodujesz dane w zapytaniu.

W ten sposób...

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd PHP z MySQL 8.0+:serwer zażądał metody uwierzytelniania nieznanej klientowi

  2. Najmniejsza i największa możliwa data w PHP i MySQL

  3. Jakie są zalety i wady przechowywania plików w bazie danych?

  4. Jak sprawdzić, czy nazwa użytkownika już istnieje w PHP/MYSQL?

  5. Odczytywanie znaków takich jak č ć đ š ž z bazy danych MySql