MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL DBで外部キーを識別する方法は?


最初にテーブルを作成しましょう-

mysql> create table DemoTable1 (Id int NOT NULL PRIMARY KEY,EmployeeName varchar(100));
Query OK, 0 rows affected (0.50 sec)

以下は、外部キー制約を持つ2番目のテーブルを作成するためのクエリです-

mysql> create table DemoTable2
   (
      Id int NOT NULL,
      StreetName varchar(100),
      CityName varchar(100),
      CountryName varchar(100),
      PinCode int,
      EmployeeId int,
      PRIMARY KEY(Id),
      FOREIGN KEY (Id) REFERENCES DemoTable1(Id)
   );
Query OK, 0 rows affected (0.46 sec)

以下は、MySQLDBの外部キーを識別するためのクエリです-

mysql> show create table DemoTable2\G

これにより、次の出力が生成されます-

*************************** 1. row ***************************
Table: DemoTable2
Create Table: CREATE TABLE `demotable2` (
   `Id` int(11) NOT NULL,
   `StreetName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
   `CityName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
   `CountryName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
   `PinCode` int(11) DEFAULT NULL,
   `EmployeeId` int(11) DEFAULT NULL,
   PRIMARY KEY (`Id`),
   CONSTRAINT `demotable2_ibfk_1` FOREIGN KEY (`Id`) REFERENCES `demotable1`
(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.00 sec)

  1. MySQLのさまざまなテーブルに対して主キーを外部として参照するにはどうすればよいですか?

    以下は構文です- alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecondTableNamePrimaryKey`) references yourFirstTableName(yourFirstTablePrimaryKeyColumnName); 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table demo65 −> ( −> id int not null primary

  2. MySQLでの外部キーの使用

    MySQLで外部キーを使用する方法を理解しましょう- InnoDBテーブルは、外部キー制約のチェックをサポートしています。 2つのテーブルを結合するためだけに、外部キー制約は必要ありません。 InnoDB以外のストレージエンジンで使用する必要のある列を定義するときに使用できます。 REFERENCES tableName(colName)は実際の効果はなく、現在定義されている列が別のテーブルの列を参照することを意図しているというユーザーへのコメントとして機能します。 MySQLは、「colName」が実際に「tableName」に存在すること、または「tableName」自体が実際に存在す