Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да намерите името на ограничение в MySQL

Проблем:

Искате да намерите имената на ограниченията в таблица в MySQL.

Пример:

Искаме да покажем имената на ограниченията в таблицата student .

Решение:

SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME
FROM information_schema.table_constraints
WHERE table_name='student';

Ето резултата:

TABLE_NAME CONSTRAINT_TYPE CONSTRAINT_NAME
ученик ПЪРВИЧЕН КЛЮЧ ОСНОВНО
ученик УНИКАЛНО личен_номер
ученик ВЪНШЕН КЛЮЧ student_ibfk_1
ученик ПРОВЕРКА student_chk_1

Дискусия:

Използвайте изгледа table_constraints в information_schema схема. Този изглед съдържа много колони, но най-важните са table_name , constraint_type и constraint_name . Колоната table_name ви дава името на таблицата, в която е дефинирано ограничението, а колоната constraint_name съдържа името на ограничението. Колоната constraint_type указва типа на ограничението:PRIMARY KEY за тип първичен ключ, FOREIGN KEY за типа външен ключ, UNIQUE за уникалните стойности и CHECK за проверка на ограничението. В нашия пример можете да видите ограничението с име PRIMARY за първичния ключ в student маса. constraint_type колоната ви дава информация за типа на всяко ограничение; за първичния ключ това е PRIMARY KEY .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как ClusterControl конфигурира виртуален IP и какво да очаквате по време на отказ

  2. Буболечка? #1146 - Таблица 'xxx.xxxxx' не съществува

  3. MySQL :Множество реда като единичен ред, разделен със запетая

  4. Има ли начин да се покаже клауза WHERE само за едно поле в MySQL?

  5. Неправилна стойност на низа при опит за вмъкване на UTF-8 в MySQL чрез JDBC?