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

Как да използвам вмъкване в конструктора на заявки, вмъкване на множество записи?

Току що тестван. Това работи.

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

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

Тревога! Има два начина за масово вмъкване. Това е един от начините:

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

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

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

Както беше предложено от ndm, предпочитам този начин.

    $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. MySQL има две различни пароли?

  2. Работа с големи записи в приложение на Java EE

  3. Разделете низ на ред

  4. php mysql получава променливи данни от базата данни и изчислява

  5. изтриване * от таблицата не работи