1

この SQL が機能しない理由がわかりません。基本的に、サポートしていないため、TEXTデータ型にデフォルト値を割り当てようとしています。

DELIMITER /
CREATE TRIGGER ifEventDesciptionNull
BEFORE INSERT ON Event
FOR EACH ROW
BEGIN
IF NEW.description = NULL THEN
    SET NEW.description = 'No description available.';
END/
DELIMITER ;

'' 付近の 7 行目 (区切り文字 switcharoo は含まれません) で構文に関するエラーが発生します。返されたエラーが何かを指摘した場合、助けを求める必要はないと確信しています。同様に、Oracle では無効であり、コンパイル エラーで作成され、テーブルに何も追加できません。

前もって感謝します!

4

1 に答える 1

4

と比較するときはNULL、使用しIS NULLないでください= NULL

DELIMITER //
CREATE TRIGGER ifEventDesciptionNull
BEFORE INSERT ON Event
FOR EACH ROW
BEGIN
    IF NEW.description IS NULL THEN
        SET NEW.description = 'No description available.';
    END IF;    -- << add this also
END//
DELIMITER ;
于 2012-11-15T08:19:50.607 に答える