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

列がMySQLの主キーであるかどうかをどのように取得しますか?


列が主キーであるかどうかを取得するには、COLUMN_NAMEおよびCOLUMN_KEY='PRI'を使用します。これで、全体の構文は次のようになります-

select column_name, case when column_key= 'PRI' then 'yourMessage1' else ''yourMessage2' end as anyAliasName
from information_schema.columns
where table_schema =database()
and `table_name` = yourTableName
order by `table_name`, ordinal_position;

上記の構文を理解するために、テーブルを作成しましょう-

mysql> create table DemoTable1886
   (
   Id int NOT NULL,
   FirstName varchar(20),
   LastName varchar(20),
   Age int,
   DateOfBirth datetime,
   Education varchar(40),
   PRIMARY KEY(Id)
   );
Query OK, 0 rows affected (0.00 sec)

特定の列が主キーであるかどうかを取得するためのクエリは次のとおりです-

mysql> select column_name, case when column_key= 'PRI' then 'This is a Primary key Column' else 'This is not a Primary key Column' end as Output
   from information_schema.columns
   where table_schema =database()
   and `table_name` = 'DemoTable1886'
   order by `table_name`, ordinal_position;

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

+-------------+--------------------------------+
| COLUMN_NAME | Output                         |
+-------------+--------------------------------+
| Id          | This is a Primary key Column   |
| FirstName   |This is not a Primary key Column|
| LastName    |This is not a Primary key Column|
| Age         |This is not a Primary key Column|
| DateOfBirth |This is not a Primary key Column|
| Education   |This is not a Primary key Column|
+-------------+--------------------------------+
6 rows in set (0.00 sec)

  1. MySQLを使用してJavaでResultSetの列名を取得するにはどうすればよいですか?

    結果セットの列名を取得するには、getMetaData()メソッドを使用する必要があります。 getMetadata()のプロトタイプは次のとおりです- ResultSetMetaData getMetaData throws SQLException; 5つの列名を持つMySQLテーブルを作成します。テーブルを作成するためのクエリは次のとおりです- mysql> create table javagetallcolumnnames    -> (    -> Id int NOT NULL AUTO_INCREMENT,  

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

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