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

SQL Tworzenie wielu tabel jednocześnie

MySQL jest zdezorientowany, ponieważ nie ograniczasz swoich zapytań. Dodaj średnik po pierwszym CREATE oświadczenie:

private function buildDB() {
    $sql = <<<MySQL_QUERY
        CREATE TABLE IF NOT EXISTS headings (
        type        VARCHAR(150),
        heading     VARCHAR(100),
        uniqueid    VARCHAR(100)
        );

        CREATE TABLE IF NOT EXISTS titles (
        type        VARCHAR(150),
        heading     VARCHAR(100),
        uniqueid    VARCHAR(100)
        )
MySQL_QUERY;

    return mysql_query($sql);
}

Upewnij się również, że MySQL_QUERY znajduje się na początku wiersza bez żadnych innych znaków, może z wyjątkiem średnika , zgodnie z Heredoc dokumentacja .

Ponieważ powyższe wydaje się nie działać, wypróbuj ten kod:

private function buildDB() {
    $sql1 = "CREATE TABLE IF NOT EXISTS headings (
        type        VARCHAR(150),
        heading     VARCHAR(100),
        uniqueid    VARCHAR(100))";

    $sql2 = "CREATE TABLE IF NOT EXISTS titles (
        type        VARCHAR(150),
        heading     VARCHAR(100),
        uniqueid    VARCHAR(100))";
MySQL_QUERY;

    return mysql_query($sql1) && mysql_query($sql2);
}

możesz użyj mysqli_multi_query() (wersja MySQL nie istnieje), ale wtedy musiałbyś użyć MySQLi. Powyższy kod zwraca logiczne AND z dwóch zapytań, więc nadal otrzymujesz 0 zwracany w przypadku niepowodzenia.



  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 CREATE FUNCTION Ta funkcja nie ma żadnych DETERMINISTIC, NO SQL ani READS SQL DATA

  2. MySQL - wymuś nieużywanie pamięci podręcznej do testowania szybkości zapytań

  3. Laravel z problemem Dockera z połączeniem MySQL

  4. Jaki jest najlepszy sposób na sprawdzenie, czy coś istnieje z PDO?

  5. Połączenie MySQL RDS i JDBC SSL daje błąd:nie można znaleźć prawidłowej ścieżki certyfikacji do żądanego celu