Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để tự động điền tên dựa trên họ và tên trong mysql?

Bạn có thể tạo Trình kích hoạt CHÈN TRƯỚC và trình kích hoạt CẬP NHẬT TRƯỚC để đặt trường tên thành giá trị CONCAT_WS ('', first_name, middle_name, last_name) như sau ... nhưng đừng làm như vậy. Đó là một ý tưởng khủng khiếp. Không lưu trữ cột tên ở tất cả. Khi bạn muốn chọn tên, chỉ cần chọn CONCAT_WS ('', first_name, middle_name, last_name) AS full_name.

Lưu ý rằng CONCAT sẽ trả về null nếu bất kỳ giá trị nào bạn đang nối là null, vì vậy bạn có thể muốn sử dụng CONCAT_WS (với dấu phân tách) thay thế - nếu bất kỳ giá trị nào trong danh sách là null, nó sẽ chỉ bỏ qua giá trị đó và sử dụng những giá trị còn lại.

Trình kích hoạt của bạn có thể trông giống như thế này nếu bạn quyết định làm điều đó:

 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;

Tôi hy vọng điều đó sẽ hữu ích.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng Cơ sở dữ liệu quan hệ MySQL trên Debian 6 (Bóp)

  2. nhận tất cả các mục của danh mục và con của nó

  3. Kéo các bản ghi từ bảng đơn đặt hàng cho tuần hiện tại

  4. Thứ tự MySQL theo khóa chính

  5. Cách giới hạn hàng trong tập kết quả MySQL