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

MySQL:存在しない場合は制約を追加します

    FOREIGN_KEY_CHECKS は優れたツールですが、テーブルを削除して再作成せずにこれを行う方法を知る必要がある場合。 SELECTを使用できます ステートメントONinformation_schema.TABLE_CONSTRAINTS 外部キーが存在するかどうかを判断するには:

    IF NOT EXISTS (
        SELECT NULL 
        FROM information_schema.TABLE_CONSTRAINTS
        WHERE
            CONSTRAINT_SCHEMA = DATABASE() AND
            CONSTRAINT_NAME   = 'fk_rabbits_main_page' AND
            CONSTRAINT_TYPE   = 'FOREIGN KEY'
    )
    THEN
        ALTER TABLE `rabbits`
        ADD CONSTRAINT `fk_rabbits_main_page`
        FOREIGN KEY (`main_page_id`)
        REFERENCES `rabbit_pages` (`id`);
    END IF
    


    1. セッションまたはリクエストが存在しなくなったら、PostgreSQLでSQLクエリの実行を(長時間)停止しますか?

    2. Docker上のMySQL-データベースをコンテナ化する方法:新しいホワイトペーパー

    3. 日付と時刻で降順で並べ替えますか?

    4. to_char(myDate、'DAY')の結果を文字列と比較するときに問題が発生します