0
-- Create a trigger that will prevent an update to a student table if EnrolledDate is in the future
USE College ;
DROP TRIGGER IF EXISTS Student_Before_Update;
DELIMITER $$
CREATE TRIGGER Student_Before_Update
BEFORE UPDATE ON Student
FOR EACH ROW
BEGIN
\t IF NEW.EnrolledDate > '2016-10-18' THEN
\t \t \t \t SIGNAL SQLSTATE VALUE '45000'
\t \t \t \t SET MESSAGE_TEXT= 'Enrolled date may not be in the future';
\t \t END IF;
END $$
DELIMITER ;
UPDATE Student
SET EnrolledDate= DATE(now())
WHERE ID= 1;
UPDATE Student
SET EnrolledDate= DATE_ADD(now(),INTERVAL 1 DAY)
WHERE ID=1;
みなさん、こんにちは、
。たとえば、登録された生徒のレコードに最後に挿入された日付は「2016-10-18」なので、その日付の後の他のレコードには、「登録された日付が未来ではない可能性があります」というエラーメッセージが表示されます。私は文字通りこれを何時間も働いていましたが、とにかく私はやっていません。誰か助けてくれますか?ここまでは私のコードです。
あるので、コードを調整する日付フィールド
EDIT 2、確かです。それは予期しない識別子を言う。 RAISERROR – User445555
なぜハードコーディングされた日付を保持できないのですか? – User445555
ああ...あなたがMySQL – bc004346