2017-10-16 5 views
1

カラムを追加する方法。そのカラムの値は許可されません。 例...カラムの有効期間は、1,2,3,6 私はチェック制約を使用しようとしましたが、mySqlはそれを無視しました...SQLにカラムを追加できません。

この質問で私を助けたり、少なくとも私にこの質問に関する資料を送ってもらえますか?

ありがとうございます!

+0

詳細を記入してください。 –

+1

質問の回答方法https://stackoverflow.com/help/how-to-askこれは、人々があなたの質問に答えるのを手助けするのに役立ちます。 – Eric

+0

テーブルボートに列の色(varchar(20))を追加するコードをmysqlに記述します。デフォルト値は 'pink'、その列の値は 'white'、 'black'、 'red'(other値は許可されます!!) ALTER TABLEボートは列の色を追加しますvarchar(20)DEFAULT 'white' ...? チェック制約はmysqlで無視されます! –

答えて

0

チェック制約はMySqlでは機能しません。

代替:

があなたのテーブルの上に2つのトリガーを追加します。

  • 挿入する前
  • 更新前

クエリ例:

CREATE TRIGGER checkage_bi BEFORE INSERT ON mytable FOR EACH ROW 
    -> BEGIN 
    ->  DECLARE dummy,baddata INT; 
    ->  SET baddata = 0; 
    ->  IF NEW.color = 'white' or NEW.color = 'black' or NEW.color = 'red' THEN 
    ->   SET baddata = 1; 
    ->  END IF;   
    ->  IF baddata = 1 THEN 
    ->   SELECT CONCAT('Cannot Insert This Because Color ',NEW.color,' is Invalid') 
    ->   INTO dummy FROM information_schema.tables; 
    ->  END IF; 
    -> END; $$ 

ます同様にBefore Updateトリガーを作成することもできます。詳細click here

については

はそれが役に立てば幸い!

関連する問題