Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQL Buat beberapa tabel sekaligus

MySQL semakin bingung karena Anda tidak membatasi kueri Anda. Tambahkan titik koma setelah CREATE pertama pernyataan:

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

Juga, pastikan MySQL_QUERY ada di awal baris dengan tidak ada karakter lain, kecuali mungkin titik koma , sesuai dengan Di sinidoc dokumentasi .

Melihat hal di atas tampaknya tidak berfungsi, coba kode ini:

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

Anda bisa gunakan mysqli_multi_query() (versi MySQL tidak ada), tetapi Anda harus menggunakan MySQLi. Kode di atas mengembalikan logika AND dari dua kueri, jadi Anda masih mendapatkan 0 dikembalikan jika salah satu gagal.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memasukkan nilai dalam tabel dengan kunci asing menggunakan MySQL?

  2. SQL - JIKA ADA UPDATE ELSE INSERT Syntax Error

  3. Gabungkan dan Urutkan dua Koleksi Fasih?

  4. Kesalahan penguraian:kesalahan sintaksis, kesalahan '=' tak terduga

  5. Doctrine 2 DQL MySQL setara dengan ROUND()?