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を使用する必要があります。上記のコードは2つのクエリの論理積を返すため、0を取得します。 1つが失敗した場合に返されます。



    1. mysql-connector-python、mysql-connector-python-rf、およびmysql-connector-repackagedの違いは何ですか?

    2. SQLiteデータベースをExcelに変換するAndroidプログラム

    3. codeIgniterは代わりにmysql_real_escape_string()を使用します。データベース接続の問題

    4. PHPデータベース接続クラス