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

mysql tạo một hàng mới thay vì cập nhật hiện có

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ị.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách chọn các bản ghi duy nhất ngẫu nhiên trên mỗi lần thực thi Truy vấn SQL

  2. Cách tốt nhất để truy cập cơ sở dữ liệu từ PHP là gì?

  3. PDO SQL-state 00000 nhưng vẫn bị lỗi?

  4. Cách tìm kiếm nhiều giá trị được phân tách bằng dấu phẩy trong mysql

  5. Truy vấn lồng nhau PHP, MYSQL