Bạn có thể trực tiếp UPDATE
nếu giá trị đã tồn tại hoặc INSERT
nếu nó không tồn tại bằng cách sử dụng INSERT...ON DUPLICATE KEY UPDATE
Nhưng trước tiên, bạn cần chỉ định một cột duy nhất,
ALTER TABLE user_account ADD CONSTRAINT tb_uq UNIQUE (id_user)
if cột ID_USER
đã là khóa chính thì bỏ qua phương thức đầu tiên. Sau khi nó được triển khai, bây giờ bạn có thể sử dụng cú pháp sau
INSERT INTO user_account (id_user, bio)
VALUES($id, '$bio')
ON DUPLICATE KEY UPDATE bio = '$bio';
Là một phụ chú, truy vấn dễ bị tấn công với SQL Injection
nếu giá trị ( s ) của các biến đến từ bên ngoài. Mời các bạn cùng xem bài viết dưới đây để biết cách phòng tránh nhé. Bằng cách sử dụng PreparedStatements
bạn có thể loại bỏ việc sử dụng các dấu ngoặc kép xung quanh các giá trị.