2017 © Pedro Peláez
 

library insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UPDATE forked from Yada Khov.

image

ndexondeck/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UPDATE forked from Yada Khov.

  • Thursday, September 14, 2017
  • by ndexondeck
  • Repository
  • 1 Watchers
  • 1 Stars
  • 55 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 26 Forks
  • 0 Open issues
  • 19 Versions
  • 8 % Grown

The README.md

MySQL Insert On Duplicate Key Update Eloquent Trait

Latest Stable Version License Build Status, (*1)

Insert Duplicate Key Update is a quick way to do mass insert., (*2)

It's a trait meant to be used with Laravel's Eloquent ORM., (*3)

Code Example

use Illuminate\Database\Eloquent\Model;
use Ndexondeck\InsertOnDuplicateKey;

/**
 * Class User.
 */
class User extends Model
{
    // The function is implemented as a trait.
    use InsertOnDuplicateKey;
}

Multi values insert.

    $users = [
        ['id' => 1, 'email' => 'user1@email.com', 'name' => 'User One'],
        ['id' => 2, 'email' => 'user2@email.com', 'name' => 'User Two'],
        ['id' => 3, 'email' => 'user3@email.com', 'name' => 'User Three'],
    ];

INSERT ON DUPLICATE KEY UPDATE

    User::insertOnDuplicateKey($users);

```sql -- produces this query INSERT INTO users(id,email,name) VALUES (1,'user1@email.com','User One'), (2,'user3@email.com','User Two'), (3,'user3email.com','User Three') ON DUPLICATE KEY UPDATE id = VALUES(id), email = VALUES(email), name = VALUES(name), (*4)


```php User::insertOnDuplicateKey($users, ['email']);

```sql -- produces this query INSERT INTO users(id,email,name) VALUES (1,'user1@email.com','User One'), (2,'user3@email.com','User Two'), (3,'user3email.com','User Three') ON DUPLICATE KEY UPDATE email = VALUES(email), (*5)


#### INSERT IGNORE ```php User::insertIgnore($users);

```sql -- produces this query INSERT IGNORE INTO users(id,email,name) VALUES (1,'user1@email.com','User One'), (2,'user3@email.com','User Two'), (3,'user3email.com','User Three');, (*6)


#### REPLACE INTO ```php User::replace($users);

```sql -- produces this query REPLACE INTO users(id,email,name) VALUES (1,'user1@email.com','User One'), (2,'user3@email.com','User Two'), (3,'user3email.com','User Three');, (*7)


### created_at and updated_at fields. created_at and updated_at will *not* be updated automatically. To update you can pass the fields in the insert array. ```php ['id' => 1, 'email' => 'user1@email.com', 'name' => 'User One', 'created_at' => Carbon::now(), 'updated_at' => Carbon::now()]

Run unit tests

./vendor/bin/phpunit

Will this work on Postgresql?

No. On Duplicate Key Update is only available on MySQL. Postgresql 9.4 has a similar feature called UPSERT. Implementing UPSERT is left as an exercise for the reader., (*8)

Isn't this the same as updateOrCreate()?

It is similar but not the same. The updateOrCreate() will only work for one row at a time which doesn't allow bulk insert. InsertOnDuplicateKey will work on many rows., (*9)

The Versions

14/09 2017

dev-master

9999999-dev https://github.com/ndexondeck/insert-on-duplicate-key.git

A trait for MySQL INSERT ON DUPLICATE KEY UPDATE forked from Yada Khov.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

14/09 2017

v1.1.4

1.1.4.0 https://github.com/ndexondeck/insert-on-duplicate-key.git

A trait for MySQL INSERT ON DUPLICATE KEY UPDATE forked from Yada Khov.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

14/09 2017

v1.2.1

1.2.1.0 https://github.com/ndexondeck/insert-on-duplicate-key.git

A trait for MySQL INSERT ON DUPLICATE KEY UPDATE forked from Yada Khov.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

28/08 2017

v1.1.3

1.1.3.0 https://github.com/ndexondeck/insert-on-duplicate-key.git

A trait for MySQL INSERT ON DUPLICATE KEY UPDATE forked from Yada Khov.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

28/08 2017

v1.2

1.2.0.0 https://github.com/ndexondeck/insert-on-duplicate-key.git

A trait for MySQL INSERT ON DUPLICATE KEY UPDATE forked from Yada Khov.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

28/08 2017

v1.1.1

1.1.1.0 https://github.com/ndexondeck/insert-on-duplicate-key.git

A trait for MySQL INSERT ON DUPLICATE KEY UPDATE forked from Yada Khov.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

19/01 2017

v1.1.0

1.1.0.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UPDATE.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

01/01 2017

v0.1.0

0.1.0.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

01/01 2017

v1.0.0

1.0.0.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

01/01 2017

v0.0.10

0.0.10.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

30/11 2016

v0.0.9

0.0.9.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Development Requires

database eloquent mysql

28/08 2016

v0.0.8

0.0.8.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Requires

 

The Development Requires

database eloquent mysql

18/07 2016

v0.0.7

0.0.7.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Requires

 

The Development Requires

database eloquent mysql

23/06 2016

v0.0.6

0.0.6.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Requires

 

The Development Requires

database eloquent mysql

07/06 2016

v0.0.5

0.0.5.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Requires

 

The Development Requires

database eloquent mysql

14/05 2016

v0.0.4

0.0.4.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Requires

 

The Development Requires

database eloquent mysql

13/05 2016

v0.0.3

0.0.3.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Requires

 

The Development Requires

database eloquent mysql

13/05 2016

v0.0.2

0.0.2.0 https://github.com/yadakhov/insert-on-duplicate-key

A trait for MySQL INSERT ON DUPLICATE KEY UDPATE.

  Sources   Download

MIT

The Requires

 

The Development Requires

database eloquent mysql

13/05 2016

0.0.1

0.0.1.0 https://github.com/yadakhov/on-duplicate-key-update

A trait for MySQL ON DUPLICATE KYE UDPATE.

  Sources   Download

MIT

The Requires

 

The Development Requires

database eloquent mysql