0
私はMySQLを使用しています5.1.36 chk1
という名前の制約を削除しようとしていますが、MySQLは構文上のエラーを報告します。私はそれを見てもそれを見つけることができません。エラーは何ですか?MySQL Drop Constraint構文エラー
mysql> create database house;
Query OK, 1 row affected (0.01 sec)
mysql> use house;
Database changed
mysql> create table member(age integer);
Query OK, 0 rows affected (0.05 sec)
mysql> alter table member add constraint chk1 check(age>0);
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> alter table member drop constraint chk1;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'constraint chk1' at line 1
mysql> alter table member drop check chk1;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'check chk1' at line 1
enumまたはトリガーなどの回避策を使用せずにこの制約を強制する方法はありますか? –
私の理解では、年齢を 'int unsigned'または' SMALLINT unsigned'に変更すると、この場合ジョブが実行されます。同じ場合、列挙型の代わりに「外部キー」が機能します。一般的に - いいえ、あなたは任意のチェック制約を強制することはできません。 – a1ex07
'check(age> 40)'のような制約があったらどうしたらいいですか? –