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

MySQLデータ型の値を特定の範囲(できればENUMではない)に制限します

    許可された投票値のテーブルを作成し、投票テーブルに外部キーを追加できるため、allowed_votesテーブルに存在する以外のuser_vote値で投票を挿入しようとすると、制約失敗エラーが発生します。

    CREATE TABLE allowed_votes (
      vote_rank TINYINT UNSIGNED NOT NULL,
      PRIMARY KEY (vote_rank)
    ) ENGINE = InnoDB;
    
    INSERT INTO allowed_votes( vote_rank ) VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
    
    ALTER TABLE votes
    ADD FOREIGN KEY (user_vote) REFERENCES allowed_votes (vote_rank);
    



    1. 1年の毎月のレコードをカウントします

    2. postgresのインストール中に入力したパスワードを忘れました

    3. OracleのREGEXP_INSTR()関数

    4. MySQLで外部キー制約を一時的に無効にするにはどうすればよいですか?