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

MySQL:masukkan jika tidak ada

Gunakan insert . . . select :

INSERT INTO USER (name, email)
    SELECT 'John', '[email protected]'
    WHERE NOT EXISTS
        (SELECT id FROM USER WHERE email = '[email protected]');

Saya akan menulis ini sebagai:

INSERT INTO USER (name, email)
    SELECT name, email
    FROM (SELECT 'John' as name, '[email protected]' as email) t
    WHERE NOT EXISTS (SELECT 1 FROM USER u WHERE u.email = t.email);

Tetapi pendekatan yang lebih baik mungkin hanya memasukkan indeks unik sehingga database melindungi data:

create unique index idx_users_email on user(email);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan dimensi variabel DECLARED di SPs?

  2. Bagaimana melakukan banyak kueri ke SQL

  3. sqlalchemy.orm.exc.FlushError:Instance memiliki kunci identitas NULL

  4. SQL Group BY menggunakan string di kolom baru

  5. Cara Memformat Angka di MySQL