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

Cách thực hiện chỉnh sửa trong bảng nối

Bạn không cần phải xóa tất cả các hàng để bắt đầu.

Bạn chỉ có thể xóa các hàng không còn áp dụng và chỉ chèn các hàng mới. Hoặc bạn có thể cập nhật một giá trị không còn áp dụng với một giá trị vẫn áp dụng.

Vì vậy, để đạt được từ điều này

Name    Role
--
John    Admin
John    Member
John    Superuser

tới cái này

Name    Role
--
John    Member
John    Junior

Bạn có thể xóa những gì không còn áp dụng. . .

delete from userinroles
where Name = 'John' 
  and (Role = 'Admin' or Role = 'Superuser');

và chèn những gì phù hợp.

insert into userinroles (Name, Role)
values ('John', 'Junior');

Hoặc bạn có thể cập nhật một giá trị bằng một giá trị mới.

delete from userinroles
where Name = 'John' 
  and Role = 'Admin';

Tiếp theo là

update userinroles
set Role = 'Junior'
where 'Name' = 'John' and Role = 'Superuser';

Bạn đã nói

Đó là những gì giao dịch dành cho. Nhiều câu lệnh trong một giao dịch SQL duy nhất là tất cả hoặc không có gì - hoặc tất cả đều thành công hoặc không có thay đổi nào được thực hiện.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dấu thời gian buộc Hibernate duy trì / tải dưới dạng UTC

  2. Kết nối với MySQL từ Eclipse (CDT)

  3. MySQL Sắp xếp theo thứ tự bảng chữ cái nhưng bỏ qua

  4. Tạo và đọc mã vạch

  5. HTML biểu mẫu hoạt động như nhận thay vì đăng