ENUMの制約
- ENUMを使用すると、ユーザーの入力を制限するために 、CREATE TABLEを学生 ( StudentID INT AUTO_INCREMENTにPRIMARY KEY 、 のClassID INT 、 StudentName VARCHAR(200は)、 セックスENUM(' 人のために'、' 女性のための' ) )
デフォルト値の制約
- のテーブル作成時のデフォルト値の時間を指定し 、CREATE TABLEを学生 ( StudentID INT AUTO_INCREMENTにPRIMARY KEY 、 のClassID INT 、 StudentName VARCHARを(200で)DEFAULT '' ) - デフォルトの制約を作成するには、テーブルを作成した後 、CREATE TABLEを学生 ( StudentID INT AUTO_INCREMENT PRIMARY KEY 、 のClassID INT 、 StudentName VARCHAR(200 ) ) ALTER TABLE 学生 ALTER COLUMNは StudentName SETを DEFAULT '' - デフォルトの制約が見 SHOW CREATE TABLEの学生。
外部キー制約
MYSQLの外部キー制約が唯一のインスタントチェック(即時チェック)、SQL Serverと同じをサポートしています。
外部キー制約の遅延チェック(繰延チェック)のためORACLEサポート。
あなたは外部キー制約を作成すると、MySQLは外部キー制約に起因するデッドロックを避けるために、インデックスを追加するために、外部キー制約列をデフォルト。
- クラス参照されるテーブル作成 CREATE TABLE クラス ( のClassID INT AUTO_INCREMENT PRIMARY KEY 、 クラス名VARCHAR(200 ) ;) - あなたは、外部キー参照クラスの学生のテーブル表を作成する CREATE TABLEの学生 ( StudentID INT AUTO_INCREMENT PRIMARY KEY 、 のClassID INT 、 StudentNameをVARCHAR(200で)、 FOREIGN KEY(のClassID)REFERENCESクラス(のClassID) ) - Studentテーブルを作成して、外部キーを追加 CREATE TABLEの学生 ( StudentID INT AUTO_INCREMENT PRIMARY KEY 、 のClassID INT 、 StudentName VARCHAR(200 )、 ); ALTER TABLE学生は、ADD FOREIGN KEY(のClassID)REFERENCES クラス(のClassIDを); - 外部キーを参照してください。 SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_SCHEMA = "testdb1 ' AND TABLE_NAME = ' 学生" \ G *************************** 1。行*************************** CONSTRAINT_CATALOG:DEF CONSTRAINT_SCHEMA:testdb1 CONSTRAINT_NAME:student_ibfk_1 UNIQUE_CONSTRAINT_CATALOG:DEF UNIQUE_CONSTRAINT_SCHEMA:testdb1 UNIQUE_CONSTRAINT_NAME:PRIMARY MATCH_OPTION:NONE UPDATE_RULE :RESTRICT DELETE_RULEを:RESTRICT 学生:TABLE_NAME REFERENCED_TABLE_NAME:クラスを
データリード処理においては、導入効率を向上させるために、あなたはそれらの導入口の後に、外部キーを無効にするチェック。
-外部キーチェックを無効
0 = @@ SET FOREIGN_KEY_CHECKSを;
-外部キーチェックが有効
@@ FOREIGN_KEY_CHECKS = 1を設定します。
唯一の制約
- するときは、外部キーの参照クラスの学生のテーブル表を作成する CREATE TABLEの学生 ( StudentID INT AUTO_INCREMENT PRIMARY KEY 、 のClassID INT 、 StudentName VARCHAR(200 )、 UNIQUE KEY (StudentName) ) - その後、テーブルに作成するユニーク制約を追加 CREATE TABLEの学生 ( StudentIDをINT AUTO_INCREMENT PRIMARY KEY 、 のClassID INT 、 StudentName VARCHAR(200 ) ) ALTER TABLE学生ADD UNIQUE KEY (StudentName)。 - 查看约束 SELECT * FROM information_schema.TABLE_CONSTRAINTS CONSTRAINT_SCHEMA = ' testdb1 ' AND TABLE_NAMEは= ' 学生' \ G ************************** * 1。行*************************** CONSTRAINT_CATALOG:DEF CONSTRAINT_SCHEMA:testdb1 CONSTRAINT_NAME:PRIMARY TABLE_SCHEMA:testdb1 TABLE_NAME:学生 CONSTRAINT_TYPE:PRIMARY KEY *************************** 2。行*************************** CONSTRAINT_CATALOG:DEF CONSTRAINT_SCHEMA:testdb1 CONSTRAINT_NAME:StudentName TABLE_SCHEMA:testdb1 TABLE_NAME:学生 CONSTRAINT_TYPE:UNIQUE