Bunun bir kaç kere Google'a gerekli, o yüzden benim Q/A paylaşıyorum. şöyleMySQL'de bir tablo alanında bir dizin olup olmadığını nasıl kontrol ederim?
cevap
Kullanım SHOW INDEX
:
SHOW INDEX FROM [tablename]
Dokümanlar: https://dev.mysql.com/doc/refman/5.0/en/show-index.html
MY_table'DEN DÜŞÜK INDEX WHERE Key_name = 'index_to_check'; – mit
Daha İyi yerine KEY_NAME ait sütun_ismi, otomatik olarak adı olmadan eklenirse endeks adını bulmak gerekmez bu şekilde kullanın. – Programista
Birden çok tuş nasıl kontrol edilir? – berserk
sadece cli bir tablo düzeni bakmak için. yapardın
desc Tablom
veya
gösteri tablo mytable
Dene:
SELECT * FROM information_schema.statistics
WHERE table_schema = [DATABASE NAME]
AND table_name = [TABLE NAME] AND column_name = [COLUMN NAME]
Size i anlatacağım indekse verilen ismi bilmeye gerek duymadan belirli bir sütun üzerinde herhangi bir tür indeksi vardır. (Indeks göstermek aksine) Aynı zamanda bir saklı yordam çalışacak
SHOW KEYS FROM tablename WHERE Key_name='unique key name'
show index from table_name where Column_name='column_name';
Belirli bir gösteri endeksi koşamam tablosunda bir benzersiz bir anahtar mevcutsa bulabilirsiniz Sorgu, bir dizin yoksa bir hata verir çünkü. Bu nedenle, tüm dizinleri bir diziye almanız ve SQL hatalarından kaçınmak istiyorsanız bunların içinden geçmeniz gerekir.
İşte ben bunu nasıl. I (bu durumda, leads
olarak) tabloda indeksler kapmak ve sütun adı (bu durumda, province
) var olup olmadığını, daha sonra bir foreach döngüsünde, kontrol edin.
$this->name = 'province';
$stm = $this->db->prepare('show index from `leads`');
$stm->execute();
$res = $stm->fetchAll();
$index_exists = false;
foreach ($res as $r) {
if ($r['Column_name'] == $this->name) {
$index_exists = true;
}
}
Bu şekilde dizin niteliklerini gerçekten daraltabilirsiniz. Birlikte çalışma yapabileceğini görmek için $res
bir print_r
yapın.
dizine edildi tabloda verilmiştir sütununu kontrol etmek için aşağıdaki SQL deyimi kullanıp kullanmayacağına
select a.table_schema, a.table_name, a.column_name, index_name
from information_schema.columns a
join information_schema.tables b on a.table_schema = b.table_schema and
a.table_name = b.table_name and
b.table_type = 'BASE TABLE'
left join (
select concat(x.name, '/', y.name) full_path_schema, y.name index_name
FROM information_schema.INNODB_SYS_TABLES as x
JOIN information_schema.INNODB_SYS_INDEXES as y on x.TABLE_ID = y.TABLE_ID
WHERE x.name = 'your_schema'
and y.name = 'your_column') d on concat(a.table_schema, '/', a.table_name, '/', a.column_name) = d.full_path_schema
where a.table_schema = 'your_schema'
and a.column_name = 'your_column'
order by a.table_schema, a.table_name;
INNODB_SYS_ * karşıyız katılır beri, bu nedenle maç endeksleri sadece InnoDB tabloları sadece
DAN GÖSTER INDEX Ve sonra alanlar için sonucu kontrol:
aşağıdaki ifadeyi kullanın satır [ "Tablo"], sıra [ "KEY_NAME"]
Birden anahtarlarını kontrol etme doğru
- 1. Bir değişkenin bir sınıfın örneği olup olmadığını nasıl kontrol ederim?
- 2. Belirli bir USB aygıtının takılı olup olmadığını nasıl kontrol ederim?
- 3. Bir dizinin kullanılmakta olup olmadığını nasıl kontrol ederim
- 4. Dizgimin içinde herhangi bir şey olup olmadığını nasıl kontrol ederim?
- 5. SQL Server'da bir sütun olup olmadığını nasıl kontrol ederim?
- 6. Bir FormData dosyasının boş olup olmadığını nasıl kontrol ederim?
- 7. Curator kullanarak Zookeeper'da bir yolun olup olmadığını nasıl kontrol ederim?
- 8. Oracle 11g'de bir dizinin var olup olmadığını nasıl kontrol ederim?
- 9. Şef: Hizmetin yüklü olup olmadığını nasıl kontrol ederim?
- 10. Sorgu dizesinin Express.js/Node.js'de değerleri olup olmadığını nasıl kontrol ederim?
- 11. Dizi değerinin boş olup olmadığını nasıl kontrol ederim? İşte
- 12. Tablo üzerinde kısıtlama olup olmadığını kontrol edin
- 13. Bir dosya olup olmadığını nasıl kontrol edebilirim?
- 14. Bir çerez olup olmadığını nasıl kontrol edersiniz?
- 15. jQuery ile bir şey gizli olup olmadığını nasıl test ederim?
- 16. Django: Bir öğenin başka bir öğenin ManyToMany alanında olup olmadığını nasıl kontrol edebilirim? Başlığa göre
- 17. Javascript'te bir değer olup olmadığını kontrol etme
- 18. Bir sayfanın açık olup olmadığını kontrol edin
- 19. bir işaretçi boş olup olmadığını kontrol Boost.Test
- 20. Özellik olup olmadığını nasıl kontrol edebilirim?
- 21. Nesnenin bir işlevi olup olmadığını nasıl kontrol edebilirim? (Dojo)
- 22. Bir değişkenin bozuk olup olmadığını nasıl kontrol ederim VE bash prelüdümde -u set -u kullanın?
- 23. Bir yazıcının yüklü ve C# kullanarak hazır olup olmadığını nasıl kontrol ederim?
- 24. Tablonun indeksi olup olmadığını nasıl kontrol edebiliriz?
- 25. NSUserDefaults'un var olup olmadığını nasıl kontrol edebilirim
- 26. Javascript'te bir nesnenin "alt nesne" olup olmadığını nasıl kontrol edebilirim?
- 27. PHP dosya olup olmadığını kontrol edin ve dizin bulunmuyor
- 28. Ruby'de bir nesnenin yinelenebilir olup olmadığını nasıl kontrol edebilirim?
- 29. C# 'da, bir yolun sanal olup olmadığını nasıl kontrol edersiniz?
- 30. Dize belirli bir aralıkta olup olmadığını nasıl kontrol edilir. (Java)
"KEY_NAME" yazma emin olun? – berserk