Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL Създаване на няколко таблици наведнъж

MySQL се обърква, защото не разграничавате заявките си. Добавете точка и запетая след първия CREATE изявление:

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

Също така се уверете, че MySQL_QUERY е в началото на реда сбез други знаци, освен може би точка и запетая , съгласно Heredoc документация .

Виждайки, че горното изглежда не работи, опитайте този код:

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

Вие можете използвайте mysqli_multi_query() (версията на MySQL не съществува), но тогава ще трябва да използвате MySQLi. Горният код връща логическото И на двете заявки, така че все още получавате 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. #1064 -Имате грешка във вашия SQL синтаксис; проверете ръководството, което съответства на версията на вашия MySQL сървър

  2. Инсталацията на MySQL за Visual Studio е неуспешна, код за грешка 1603

  3. Как мога да слея два низа от числа, разделени със запетая, в MySQL?

  4. Когато подреждате по дата desc, Използването на временно забавя заявката

  5. Как да премахна cluster-40926 от моя корен на данни в moodle