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

Bagaimana cara mengisi nama secara otomatis berdasarkan nama depan dan belakang di mysql?

Anda dapat membuat BEFORE INSERT trigger dan SEFORE UPDATE trigger untuk mengatur bidang nama ke nilai CONCAT_WS(' ', first_name, middle_name, last_name) sebagai berikut... tapi jangan lakukan itu. Itu ide yang buruk. Jangan simpan kolom nama sama sekali. Bila Anda ingin memilih nama, cukup pilih CONCAT_WS(' ', first_name, middle_name, last_name) AS full_name.

Perhatikan bahwa CONCAT akan mengembalikan nol jika salah satu nilai yang Anda gabungkan adalah nol sehingga Anda mungkin ingin menggunakan CONCAT_WS (dengan pemisah) sebagai gantinya - jika ada nilai dalam daftar yang nol, itu hanya akan menghilangkan nilai itu dan menggunakan yang tersisa.

Pemicu Anda mungkin terlihat seperti ini jika Anda memutuskan untuk melakukannya:

 CREATE TRIGGER name_update BEFORE UPDATE ON member
    FOR EACH ROW
    BEGIN
        SET NEW.name = CONCAT_WS(' ', NEW.first_name, NEW.middle_name, NEW.last_name);
    END;

 CREATE TRIGGER name_insert BEFORE INSERT ON member
    FOR EACH ROW
    BEGIN
        SET NEW.name = CONCAT_WS(' ', NEW.first_name, NEW.middle_name, NEW.last_name);
    END;

Semoga membantu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menutup koneksi aktif menggunakan RMySQL

  2. Koneksi database MySQL dinamis untuk Entity Framework 6

  3. Desain Basis Data untuk menyimpan Pesan Obrolan antar orang

  4. Bekerja dengan Database MySQL cPanel

  5. PHP - Tidak aman untuk mengandalkan pengaturan zona waktu sistem