Tôi muốn thực hiện xóa tầng cho một số bảng trong cơ sở dữ liệu của mình, nhưng tôi quan tâm đến những gì xảy ra trong trường hợp có sự cố khi xóa nội dung nào đó. Tất cả mọi thứ sẽ rollback?CASCADE có xóa thực thi dưới dạng giao dịch không?
Trả lời
Nói chung, có, xóa tầng được thực hiện trong cùng một giao dịch (hoặc subtransaction) làm xóa ban đầu của bạn. Tuy nhiên, bạn nên đọc tài liệu về máy chủ SQL của mình.
¹ Ngoại lệ là nếu bạn đang sử dụng cơ sở dữ liệu không hỗ trợ giao dịch, như MySQL với bảng MyISAM.
Xóa tầng thực sự là nguyên tử, chúng sẽ ít được sử dụng mà không có thuộc tính đó. Đó là trong tài liệu.
+1 cho "chúng sẽ được sử dụng rất ít mà không có tài sản đó" :-) Rất đúng. –
Có giá trị chỉ ra rằng mọi sự kiện xếp tầng phải là nguyên tử (tức là trong giao dịch). Tuy nhiên, như Joel Coehoorn chỉ ra, hãy kiểm tra tài liệu cho cơ sở dữ liệu của bạn.
Thực ra, không phải Joel Coehoorn chỉ ra điều đó. Nếu không chắc chắn về tác giả, bạn nên sử dụng "câu trả lời đó" liên kết với liên kết cố định của nó. – tzot
- 1. TSQL - cách thực thi truy vấn dưới dạng biến?
- 2. Làm cách nào để thực thi một tệp thực thi được nhúng dưới dạng tài nguyên
- 3. Thực thi mã được lưu trữ dưới dạng danh sách
- 4. Khung thực thể không có Giao dịch?
- 5. EF - Cascade Xóa không làm việc, không thể xóa Object
- 6. Django - xóa Cascade trong ManyToManyRelation
- 7. Dán chuỗi dưới dạng biến, không phải là đoạn mã thực thi, vào IPython
- 8. Có một giao dịch Hibernate rollback xóa "session.flush()" ed thực thể?
- 9. SQL Server DRI (ON DELETE CASCADE) có chậm không?
- 10. Triển khai ứng dụng web dưới dạng độc lập thực thi
- 11. Tính khả thi của GPU dưới dạng CPU?
- 12. Entity Framework - Cascade Xóa không được thiết lập trong mô hình thực thể
- 13. Thực thi "bằng" trong giao diện
- 14. Có thể nhận được độ trễ dưới 1 giây với bản sao giao dịch không?
- 15. Công cụ để trực quan hóa các kế hoạch xml thực thi dưới dạng HTML
- 16. Thực thi gói Python đã cài đặt dưới dạng tập lệnh?
- 17. Có phải giao dịch ROLLBACK không?
- 18. Thực thi tập lệnh SQL được lưu trữ dưới dạng tài nguyên
- 19. jQuery ::: Xóa có thực sự xóa không?
- 20. Có trình biên dịch/phiên dịch nào để thực thi mã cho php 5.3 không?
- 21. Trình biên dịch sẽ chỉ biên dịch mã có thể được thực thi?
- 22. có/không có tập tin thực thi
- 23. Có thể tự động biên dịch và thực thi các đoạn mã C# không?
- 24. Spring Roo: sử dụng thực thể JPA dưới dạng DAO
- 25. Hibernate không tạo ra cascade
- 26. NHibernate, "Trên Xóa Cascade", xếp hàng xóa các hàng trong các bảng có liên quan?
- 27. Không thể dịch ngược .NET thực thi được xây dựng
- 28. Biên dịch và thực thi mã Scala khi chạy
- 29. Xuất các thành phần Spring dưới dạng dịch vụ OSGi
- 30. 'mvn' không được nhận dạng dưới dạng lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tập tin thực thi
Nói chung? khi nào họ không có trong một giao dịch? –
Vì vậy, cơ sở dữ liệu không hỗ trợ chuyển đổi chẳng hạn. Xem MySQL với các bảng MyISAM ... –
@ Cd-MaN MyISAM cũng không hỗ trợ khóa ngoại, vì vậy bạn sẽ phải nhìn khá khó khăn trong trường hợp ngoại lệ này phát huy tác dụng. – Brilliand