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

Bagaimana cara menggunakan insert di pembuat kueri, masukkan banyak catatan?

Baru saja diuji. Ini berhasil.

   $newUsers = [
        [
            'username' => 'Felicia',
            'age' => 27,
        ],
        [
            'username' => 'Timmy',
            'age' => 71,
        ],
    ];

    $columns = array_keys($newUsers[0]);

Peringatan! Ada dua cara untuk melakukan penyisipan massal. Ini salah satu caranya:

    $insertQuery = $this->Users->query();

    $newUsersValuesExpression = new ValuesExpression($columns, $insertQuery->typeMap()->types([]));
    $newUsersValuesExpression->values($newUsers);

    $insertQuery->insert($columns)
                ->values($newUsersValuesExpression)
                ->execute();

Seperti yang disarankan oleh ndm, saya lebih suka cara ini.

    $insertQuery = $this->Users->query();

    $insertQuery->insert($columns);

    // you must always alter the values clause AFTER insert
    $insertQuery->clause('values')->values($newUsers);

    $insertQuery->execute();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan kontrol versi (Git) pada database MySQL

  2. Masalah Instalasi MYSQL

  3. Memasang permata mysql2 di Mac os x Lion

  4. Cara membuat fungsi tautan kirim ulang email di Laravel

  5. Menangani data panjang dengan benar di Hibernate