Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SQL Tạo nhiều bảng cùng một lúc

MySQL đang trở nên bối rối vì bạn không phân định được các truy vấn của mình. Thêm dấu chấm phẩy sau CREATE đầu tiên tuyên bố:

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

Ngoài ra, hãy đảm bảo MySQL_QUERY ở đầu dòng không có ký tự nào khác, ngoại trừ có thể là dấu chấm phẩy , theo Heredoc tài liệu .

Thấy ở trên có vẻ như không hoạt động, hãy thử mã này:

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

Bạn có thể sử dụng mysqli_multi_query() (phiên bản MySQL không tồn tại), nhưng sau đó bạn phải sử dụng MySQLi. Đoạn mã trên trả về logic AND của hai truy vấn, vì vậy bạn vẫn nhận được 0 trả lại nếu một cái không thành công.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tên chỉ mục MySQL và tên khóa ngoại phải khác nhau đối với các bảng khác nhau?

  2. Làm cách nào để thực hiện tìm kiếm có dấu và không phân biệt chữ hoa chữ thường trong cơ sở dữ liệu MediaWiki?

  3. MySQL Insert:Thử nghiệm trước?

  4. Cách lưu một mảng thành một biến phiên trong php

  5. MySQL NULLIF () Giải thích