15
A
回答
6
select distinct CONSTRAINT_NAME
from information_schema.TABLE_CONSTRAINTS
where CONSTRAINT_SCHEMA = 'mysql'
42
select distinct CONSTRAINT_NAME
from information_schema.TABLE_CONSTRAINTS
where table_name = 'table_name' and constraint_type = 'UNIQUE';
2
這不會產生優雅的輸出,但很容易記住:
SHOW CREATE TABLE table_name;
0
的任擇議定書要求單個表,此會做。
另外,去掉最後where
子句將顯示所有列用於由唯一約束保護的數據庫:
SELECT
CONSTRAINT_NAME,
TABLE_NAME,
COLUMN_NAME
FROM information_schema.KEY_COLUMN_USAGE
WHERE
CONSTRAINT_NAME LIKE 'UNIQ%'
AND TABLE_SCHEMA = 'your_database_name'
AND TABLE_NAME = 'your_table_name';
不幸的是MySQL不利於去除根據查詢結果索引。您可以執行以下查詢的輸出以刪除2個查詢中的所有唯一列:
SELECT CONCAT(
'ALTER TABLE ',
TABLE_NAME,
' DROP INDEX ',
CONSTRAINT_NAME,
'; -- drops ',
COLUMN_NAME,
' constraint'
)
FROM information_schema.KEY_COLUMN_USAGE
WHERE
CONSTRAINT_NAME LIKE 'UNIQ%'
AND TABLE_SCHEMA = 'your_database_name';
相關問題
- 1. 如何在MYSQL中顯示唯一約束?
- 2. 如何在mysql中一起對兩列執行唯一約束?
- 3. 顯示錶中的約束
- 4. 唯一約束
- 5. 唯一約束在NON-NULL列上的唯一約束
- 6. SharePoint:如何在列表中有一個唯一的約束?
- 7. 如何在MySQL中執行唯一約束?
- 8. 如何使用唯一約束在MySQL中使用NULL值
- 9. Mysql顯示創建約束?
- 10. SQLite中的唯一約束
- 11. MySQL對於唯一值的約束
- 12. 條件MYSQL的唯一約束條件
- 13. 使用MYSQL條件的唯一約束
- 14. MySQL的唯一聚集約束不約束預期
- 15. 我如何禁用RSpec測試中的MySQL唯一約束
- 16. 如何刪除Mysql中的唯一約束?
- 17. 如何在mysql的2列之間有2路唯一約束
- 18. 唯一約束Nhibernate
- 19. OpenERP唯一約束
- 20. oracle唯一約束
- 21. 唯一約束JayData
- 22. 唯一約束(SchemaName.DATA1_PK)
- 23. 唯一約束值
- 24. 刪除MySQL表中的唯一約束條件
- 25. 刪除MySQL表中的唯一約束條件
- 26. 在唯一鍵約束
- 27. 唯一約束在System.Data.DataColumn
- 28. 唯一約束在兩個表
- 29. SQLite表約束 - 在多列上唯一
- 30. MySQL - 多個唯一/約束到數量