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

MySQLデータベーステーブルで複合主キーを識別する方法は?


集計関数count(*)を使用できます。 1より大きい値を返す場合は、テーブルに複合主キーがあることを意味します。

まずテーブルを作成しましょう-

mysql> create table DemoTable1324
   -> (
   -> StudentId int,
   -> StudentName varchar(20),
   -> StudentAge int,
   -> StudentCountryName varchar(20)
   -> );
Query OK, 0 rows affected (0.52 sec)

複合主キーを追加するためのクエリは次のとおりです-

mysql> alter table DemoTable1324 ADD CONSTRAINT constr_IdAgeCountry PRIMARY KEY (StudentId, StudentAge,StudentCountryName);
Query OK, 0 rows affected (1.29 sec)
Records: 0 Duplicates: 0 Warnings: 0

以下は、MySQLデータベーステーブルの複合主キーを識別するためのクエリです-

mysql> select count(*) AS Total
   -> from information_schema.KEY_COLUMN_USAGE
   -> where table_name='DemoTable1324' and table_schema=database();

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

+-------+
| Total |
+-------+
|     3 |
+-------+
1 row in set, 2 warnings (0.76 sec)

  1. MySQLで主キーを削除するにはどうすればよいですか?

    主キーを削除するには、最初にALTERを使用してテーブルを変更します。それで、DROPを使用して以下のようにキーをドロップします 構文 alter table yourTableName drop primary key; まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> StudentId int NOT NULL,    -> StudentName varchar(20),    -> StudentAge

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

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