Bagaimana cara melihat susunan yang dimiliki tabel? IE Saya ingin melihat:
+-----------------------------+
| table | collation |
|-----------------------------|
| t_name | latin_general_ci |
+-----------------------------+
SHOW TABLE STATUS
memperlihatkan informasi tentang tabel, termasuk pemeriksaan.
Sebagai contoh SHOW TABLE STATUS where name like 'TABLE_NAME'
Jawaban di atas bagus, tetapi tidak benar-benar memberikan contoh yang menyelamatkan pengguna dari keharusan mencari sintaks:
show table status like 'test';
Dimana test
nama tabelnya.
(Dikoreksi sesuai komentar di bawah.)
Anda juga bisa membuat kueri INFORMATION_SCHEMA.TABLES
dan mendapatkan pemeriksaan untuk tabel tertentu:
SELECT TABLE_SCHEMA
, TABLE_NAME
, TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 't_name';
yang memberikan hasil yang jauh lebih mudah dibaca dibandingkan dengan SHOW TABLE STATUS
yang berisi banyak informasi yang tidak relevan.
Perhatikan bahwa pemeriksaan juga bisa diterapkan ke kolom (yang mungkin memiliki pemeriksaan berbeda dari tabel itu sendiri). Untuk mengambil pemeriksaan kolom untuk tabel tertentu, Anda dapat menanyakan INFORMATION_SCHEMA.COLUMNS
:
SELECT TABLE_SCHEMA
, TABLE_NAME
, COLUMN_NAME
, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 't_name';
Gunakan kueri ini:
Anda akan mendapatkan semua informasi yang berhubungan dengan tabel.
sumber
...) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1
Dugaan saya itu mungkin tidak menampilkan pemeriksaan jika diatur ke default untuk database di versi mysql / mariadb.utf8
, tapi collations yang berbedautf8_general_ci
vsutf8_unicode_ci
. Ini dapat menyebabkan pesan kesalahan sepertiHY000, 1267, Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='
... yang merupakan pesan yang membawa saya ke halaman ini.Perintah ini menjelaskan
sumber