Tôi đang sử dụng mysql v5.1.48 và đỏ http://dev.mysql.com/doc/refman/5.5/en/signal.html. Nhưng mãTại sao từ khóa tín hiệu không hoạt động trong mySQL 5.1.48?
DELIMITER $$
CREATE PROCEDURE `CoreRaiseError`()
BEGIN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'An error occurred', MYSQL_ERRNO = 1001;
END$$
nâng cao một
SQL Lỗi 1064: Bạn có một lỗi trong cú pháp SQL của bạn; kiểm tra hướng dẫn tương ứng với phiên bản máy chủ MySQL của bạn cho đúng cú pháp để sử dụng gần 'SQLSTATE '45000'
Từ phiên bản SIGNAL bắt đầu trở thành một từ khóa? Làm thế nào tôi có thể nâng cao một ngoại lệ với phiên bản trước của mysql?
Cảm ơn bạn.
Tôi phải thay đổi kích hoạt tốt đẹp để ngăn chặn xóa một số loại bản ghi nhất định. Thử nghiệm nó trong 5.6 và tất cả đều mát mẻ. Sau đó, tôi phát hiện ra việc triển khai đến 5,1 đã bị phá vỡ vì vậy điều này làm việc cho tôi. Những gì tôi đã làm là: 'gọi You_may_not_delete_those_kind_of_records'. lol. Xấu xí .. nhưng hoạt động và giúp bạn dễ dàng tìm thấy trong nhật ký của mình. – cbmeeks
Nó không hoạt động với MySQL 5.5.38. – Hibou57
Đây là câu hỏi bạn có thể thích: [mysql 5.1 báo hiệu lỗi gây ra ngoại lệ PDO] (http://stackoverflow.com/questions/18070473/mysql-5-1-signal-an-error-to-cause-pdo - ngoại lệ). – Ggicci