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

Mô phỏng ORDER BY trong SQLite UPDATE để xử lý ràng buộc về tính duy nhất

Bạn nói đúng rằng sự cố xuất hiện vì SQLite kiểm tra các ràng buộc sau mỗi lần cập nhật hàng chứ không phải ở cuối câu lệnh hoặc khi kết thúc giao dịch.

Tôi thấy giải pháp này cho sự cố (do SQLite chưa triển khai UPDATE một cách chính xác). Giả sử rằng priority cột không có bất kỳ giá trị âm nào, chúng tôi có thể sử dụng chúng (giá trị âm) tạm thời để tránh UNIQUE lỗi ràng buộc:

UPDATE table1 SET priority = - (priority + 1) WHERE priority > 1 ;

UPDATE table1 SET priority = - priority WHERE priority < 0 ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IllegalStateException:cơ sở dữ liệu đã đóng (sử dụng ViewPager)

  2. Xuất kết quả truy vấn SQLite sang tệp CSV

  3. Cách nhận giá trị tối đa của số nguyên kiểu cột được lưu trữ dưới dạng văn bản kiểu trong bảng sqlite

  4. Chỉ thêm dữ liệu vào cơ sở dữ liệu sqlite một lần và đọc nhiều lần

  5. Wordnet sqlite Từ đồng nghĩa và Mẫu