MySQLでの外部キーの使用
InnoDBテーブルは、外部キー制約のチェックをサポートしています。 2つのテーブルを結合するためだけに、外部キー制約は必要ありません。 InnoDB以外のストレージエンジンで使用する必要のある列を定義するときに使用できます。 REFERENCES tableName(colName)は実際の効果はなく、現在定義されている列が別のテーブルの列を参照することを意図しているというユーザーへのコメントとして機能します。
MySQLは、「colName」が実際に「tableName」に存在すること、または「tableName」自体が実際に存在することを確認するためのチェックを行いません。
親テーブルでは、外部キーが主キーとして機能します。テーブルを作成する例を見てみましょう。
子テーブルの作成
mysql> create table StudentEnrollment −> ( −> StudentId int, −> StudentName varchar(200), −> StudentFKPK int −> ); Query OK, 0 rows affected (0.91 sec)
親テーブルの作成
mysql> create table College −> ( −> StudentFKPK int, −> CourseId int, −> CourseName varchar(200), −> CollegeName varchar(200), −> primary key(StudentFKPK) −> ); Query OK, 0 rows affected (0.46 sec)
親テーブルでは、列「StudentFKPK」が主キーです。 ALTERコマンドを使用して外部キーを追加します。
以下は、外部キーを追加するための構文です。
構文
ALTER table yourChildTableName add constraint anyConstraintName foreign key(primary key column name for parent table) references College(primary key column name for parent table);
-
RDBMSの外部キー
外部キーはテーブル間のリンクを作成します。別のテーブルの主キーを参照してリンクします。 たとえば、EmployeeテーブルのDeptIDは外部キーです- EmpID EmpName EmpAge DeptID DeptID DeptName DeptZone DeptID 部門テーブルの主キーは部門テーブルの主キーです。 DeptID Employeeテーブルの外部キーはEmployeeテーブルの外部キーです。 下の図は同じ-を表しています 上に、2つのテーブル
-
Javaを使用してMySQLテーブルの値を表示する
このために、ResultSetの概念を使用できます。接続には、MySQLJDBCDriverを使用します。 テーブルを作成しましょう- 例 mysql> create table demo87 -> ( -> name varchar(20), -> age int -> ) -> ; Query OK, 0 rows affected (0.62 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 my