Yakın zamanda teslim ettiğim 150'den fazla tablo içeren büyük bir veritabanım var. Sadece tüm DB için tüm yabancı anahtar kısıtlamalarını tablo bazında görmek yerine kolay bir yol olup olmadığını merak ediyorum.Tüm MySQL veritabanı için tüm yabancı anahtar kısıtlamalarını görüntüleyin
cevap
Bunun için INFORMATION_SCHEMA
tablolarını kullanabilirsiniz. Örneğin, INFORMATION_SCHEMA TABLE_CONSTRAINTS
tablosu. Eğer sadece 1 veritabanı varsa kullanıcı RedFilter tarafından
select *
from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
where CONSTRAINT_TYPE = 'FOREIGN KEY'
Tam olarak ihtiyacım olan bu gibi görünüyor. Teşekkürler! –
Yabancı anahtarın alan adını da listelemenin bir yolu var mı? – JoeTidee
şu anda kabul cevap iyi çalışır, ancak çok var değilse: Böyle
şey yapmalı.
name_of_db
yabancı anahtarları almak için use information_schema;
kullanımını bu sorgu girdikten sonra:
select * from `table_constraints` where `table_schema` like "name_of_db" and `constraint_type` = 'FOREIGN KEY' into outfile "output_filepath_and_name" FIELDS TERMINATED BY ',' ENCLOSED BY '"';
SQL: dünya yazılabilir dosyasına output_filepath_and_name
kaydedilir name_of_db
yabancı anahtarları almak için
select * from `table_constraints` where `table_schema` like `name_of_db` and `constraint_type` = 'FOREIGN KEY'
Kullanımı bu sorgu :
select constraint_name,
table_schema,
table_name
from information_schema.table_constraints
where constraint_schema = 'astdb'
Çıktı:
+----------------------------+--------------+---------------------+
| constraint_name | table_schema | table_name |
+----------------------------+--------------+---------------------+
| PRIMARY | astdb | asset_category |
| PRIMARY | astdb | asset_type |
| PRIMARY | astdb | asset_valuation |
| PRIMARY | astdb | assets |
| PRIMARY | astdb | com_mst |
| PRIMARY | astdb | com_typ |
| PRIMARY | astdb | ref_company_type |
| PRIMARY | astdb | supplier |
| PRIMARY | astdb | third_party_company |
| third_party_company_ibfk_1 | astdb | third_party_company |
| PRIMARY | astdb | user |
| PRIMARY | astdb | user_role |
+----------------------------+--------------+---------------------+
Sorgu bu kod
select constraint_name,
table_schema,
table_name
from information_schema.table_constraints
Sen kısıt_ismi almak ve database
listesi aşağıdadır table_schema filtreler.
SELECT CONSTRAINT_NAME,
UNIQUE_CONSTRAINT_NAME,
MATCH_OPTION,
UPDATE_RULE,
DELETE_RULE,
TABLE_NAME,
REFERENCED_TABLE_NAME
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_SCHEMA = 'your_database_name'
Bu
Ben yararlı bilgiler almak için tercih budur Tüm-yabancı anahtarları-tabloya ya da sütun- 1. Mysql çapraz veritabanı yabancı anahtar
- 2. Laravel 5.1: SQLite yabancı anahtar kısıtlamalarını etkinleştir
- 3. Tüm yabancı anahtar kısıtlamalarını mySQL 5'te bir kerede bir tabloya bırakmak mümkün mü?
- 4. SQL Server - tüm yabancı anahtar bağımlılıklarını görüntüleme
- 5. Kompozit anahtar için yabancı anahtar
- 6. Yabancı Anahtar (MySQL) nasıl eklenir
- 7. Yabancı Anahtar oluştururken MySQL Sözdizimi
- 8. Sqlite 3'te Yabancı Anahtar desteği
- 9. Veritabanı için gerekli tüm anahtarlar şunlardır:
- 10. Sails.js: Su hattı yabancı anahtar ilişkisi MySQL
- 11. Ben MySQL yabancı anahtar damla alamıyorum
- 12. MySQL açılan alan; yabancı anahtar errorno 150
- 13. Tüm veritabanı alanlarını kırpın
- 14. Mysql veritabanında yabancı anahtar değeri nasıl güncelleştirilir
- 15. Yabancı Anahtar
- 16. Yabancı anahtar kısıtlamalarını zorlamayan bir mysqldump dosyası otomatik olarak oluşturabilir misiniz?
- 17. yabancı anahtar
- 18. Tüm Mongo veritabanı üzerinde yineleyin
- 19. MySQL yabancı anahtarları oluşturulmuyor
- 20. MySQL veritabanı motoru: Şu anda MySQL tüm veritabanları için InnoDB kullanıyorum diğer veritabanları
- 21. Tüm veritabanı başvuruları nasıl bulunur?
- 22. Veritabanı içindeki tüm tabloların listesi
- 23. Yabancı anahtar kısıtlaması vermek için tablo al
- 24. Rails modelleri için yabancı anahtar ilişkilerini tanımlama
- 25. wordpress arama tüm anahtar kelimeleri
- 26. Django ve yabancı anahtar
- 27. JPA: yabancı anahtar ek açıklaması
- 28. Django Filtre Sorgu Yabancı Anahtar
- 29. liquibase: hatalı oluşturulmuş yabancı anahtar
- 30. Görsel stüdyoya yabancı anahtar ekleme 2012
burada Bkz Andy'nin cevap:: https://stackoverflow.com/questions/201621/how-do-i-see-
Look at This
– omarjebari