Tôi cần phải viết kịch bản thiết lập cho MySQL (thường chạy bằng 'source [file]' từ console mysql) phụ thuộc một phần vào dữ liệu hiện có, và có sự khác biệt về môi trường, có nghĩa là đôi khi kịch bản thất bại. Một trường hợp phổ biến là một câu lệnh 'SET' với một lựa chọn (để định vị một id) không tìm thấy bất cứ điều gì; giao diện điều khiển đặt giá trị NULL. Trong trường hợp này tôi muốn kịch bản thất bại; Tôi đã nghe điều này sẽ được thực hiện bằng cách nâng cao lỗi (với các DB khác). Tuy nhiên có vẻ như MySQL không có cách nào để làm điều này.Cách để hủy bỏ việc thực thi các tập lệnh MySQL (có thể gây lỗi)?
Có cách nào tốt để buộc lỗi trong các điều kiện như vậy không? Vì mọi thứ bây giờ cập nhật sẽ thất bại khi chèn cố gắng sử dụng null, nhưng ngay cả điều đó không chấm dứt chính kịch bản. Lý tưởng nhất là nó sẽ thất bại và chấm dứt ngay sau khi một vấn đề được gặp phải.
Dường như trùng lặp: http://stackoverflow.com/questions/465727/raise-error-within-mysql-function/466826 –
Hmmh. Nó có liên quan nhưng tôi không chắc chắn đó là một dup, kể từ khi tôi đang chạy sql từ mysql console, và không có thủ tục được lưu trữ. Nhưng có lẽ tôi misundertand diffs ở đây (là giao diện điều khiển chỉ về cơ bản chạy những thứ tương tự như procs lưu trữ sẽ thực hiện?). Cảm ơn bạn đã liên kết ở bất kỳ mức nào. – StaxMan
Có thể có các tùy chọn mới đến MySQL 6 xem http://bugs.mysql.com/bug.php?id=35634 – KCD