Tôi đã tìm kiếm trên web cách sử dụng "trước khi kích hoạt" trong sqlite. Tôi biết đúng cách sử dụng "sau khi kích hoạt". Tôi tìm thấy một trong đó nói rằng "trước khi kích hoạt" đã được sử dụng để xác nhận trước khi bất kỳ thay đổi được thực hiện cho cơ sở dữ liệu (chèn/updat hàng trong bảng). Để xóa biểu thức, tôi đã viết trình kích hoạt trong đó loại trước và sự kiện được chèn để xác thực đánh dấu trước khi chèn. Trình kích hoạt của tôi làCách xác thực trước khi kích hoạt chèn trong sqlite
create trigger mark_insert before insert on exam
when mark<=50
begin
insert into exam(mark) values(50);
end;
Có thể trình kích hoạt sai. Vì vậy, bạn có thể xin vui lòng chỉ cho tôi ra các lỗi trong đó? Tôi muốn kiểm tra nhãn hiệu cho dù nó nhỏ hơn hay bằng 50. Nếu vậy, tôi muốn chèn giá trị mặc định (trong trường hợp này là 50). Tôi không quen thuộc với sql và kích hoạt và bắt đầu học.
bảng thi của tôi có các cột sau,
id(pk) | subject | mark
cảm ơn sự giúp đỡ của bạn. Nhưng tôi nhận được lỗi này: không có dấu cột nào. Có phải do tăng() không? Bạn có thể giải thích về chức năng nâng cao không? Cảm ơn bạn trước. – waiyan
'tăng' là cách bạn tạo ra lỗi trong trình kích hoạt. http://www.sqlite.org/lang_createtrigger.html –
Sau câu lệnh SELECT, ';' là bắt buộc. –