Có một tùy chọn SQL Mode, strict_trans_tables, đó là tương tự như trong ý định nhưng không phải trong hành vi để strict_all_tables. Cả hai strict_all_tables và strict_trans_tables có nghĩa là để ngăn chặn các giá trị không hợp lệ từ được chèn vào các cột của bạn (chẳng hạn như ngăn ngừa các giá trị null trong một cột không null). Sự khác biệt giữa hai xảy ra khi ba tiêu chí được đáp ứng:
Các bảng mà bạn đang chèn vào hoặc cập nhật không phải là giao dịch (nói cách khác, bạn không sử dụng InnoDB)
Bạn đang cập nhật hoặc chèn nhiều hàng
hàng đầu tiên của bạn là hợp lệ nhưng một sau đó không phải là
trong hoàn cảnh này, strict_trans_tables cho phép bạn chèn hàng, phát hành một cảnh báo nếu có một giá trị không hợp lệ, nhưng âm thầm chuyển đổi nó. Các strict_all_tables sẽ ngăn chèn hoặc cập nhật ngay khi có một hàng không hợp lệ, và nó sẽ ném ra một lỗi. Chúng ta hãy nhìn vào sự khác biệt.
đang được dịch, vui lòng đợi..
