sql >> データベース >  >> RDS >> Mysql

列を保護し、更新を禁止し、MySQLでNULLの場合にのみ挿入を許可する

    はい、MySQLではトリガーがこれを行う唯一の方法です。 MySQLは制約をサポートしていません。

    あなたの引き金は正確には正しくありません。まず、日付の更新があります 、ただし、これは update on

    である必要があります 。次に、更新に使用される日付値を確認しています。 。おそらくあなたが意味するのは:

    create trigger date_check_update
    before update on <the table name goes here>
    for each row
    begin
        if (old.date IS NOT NULL) then
            SIGNAL 'date already set'
        end if ;
    end;
    

    挿入 この条件でトリガーしても意味がありません。



    1. mysqlの条件付き結合は列に依存します

    2. Python3 mysqlclient-1.3.6(別名PyMySQL)の使用法?

    3. mysqlはwhere条件でgroupby列を使用します

    4. PhalconPHPでRAWSQLクエリを実行する方法