sql >> Databáze >  >> RDS >> Mysql

Jak použít vložit v nástroji pro vytváření dotazů vložit více záznamů?

Jen vyzkoušeno. Funguje to.

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

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

Upozornění! Existují dva způsoby, jak provést hromadné vkládání. Toto je jeden způsob:

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

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

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

Jak navrhuje ndm, preferuji tento způsob.

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

    $insertQuery->insert($columns);

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

    $insertQuery->execute();


  1. Velmi pomalé spouštění aplikace Spring Boot

  2. Jak používat referenční kurzor Oracle z C# ODP.NET jako parametr ReturnValue bez použití uložené funkce nebo procedury?

  3. Jak najít interval mezi dvěma daty v PostgreSQL

  4. SELECT ze zobrazení MySQL s klauzulí HAVING vrátí prázdnou sadu výsledků