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

SQL Vytvořte více tabulek najednou

MySQL je zmatená, protože nevymezujete své dotazy. Za první CREATE přidejte středník prohlášení:

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

Také se ujistěte, že MySQL_QUERY je na začátku řádku žádné další znaky, možná kromě středníku , podle Heredoc dokumentaci .

Protože se zdá, že výše uvedené nefunguje, vyzkoušejte tento kód:

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

Mohli byste použijte mysqli_multi_query() (verze MySQL neexistuje), ale pak byste museli použít MySQLi. Výše uvedený kód vrací logické AND dvou dotazů, takže stále dostanete 0 vráceno, pokud jeden selže.



  1. Proč postgres nevytváří databázi?

  2. Chyba MySQL 1436:Přetečení zásobníku vláken s jednoduchým dotazem

  3. Převeďte číslo měsíce na název měsíce v PostgreSQL

  4. Odstraňování problémů Žádný takový soubor nebo adresář při spuštění `php app/console doctrine:schema:create`