mysql - 如何检查 MySQL 表是否为 UTF-8 且具有 storageEngine InnoDB?

标签 mysql utf-8 innodb storage-engines

四处搜索只能找到从一种格式更改为另一种格式的说明,但我似乎无法找到确切的方法来确定我首先拥有哪些。

我该怎么做:

  1. 检查表有什么字符编码?
  2. 检查表使用什么存储引擎?
  3. 检查所有表是否都是某种编码?
  4. 检查所有表是否都有特定的存储引擎?

最佳答案

您可以使用 information_schema 来了解每个表的引擎。

select table_name,engine 
from information_schema.tables
where table_schema = 'your_database'

对于你可以使用的编码

show create table table_name

或者,甚至更好

select 
c.character_set_name 
from information_schema.tables as t,
     information_schema.collation_character_set_applicability as c
where c.collation_name = t.table_collation
and t.table_schema = "your_db"
and t.table_name = "table_name";

关于mysql - 如何检查 MySQL 表是否为 UTF-8 且具有 storageEngine InnoDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6103595/

相关文章:

java - 在 java 中打印 UTF-8

mysql - 为什么我的 SQL UPDATE 语句不能在循环中运行?

mysql - 南迁移错误,InnoDB : ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope

python - Pyspark:从 pyspark 数据帧中删除 UTF 空字符

mysql - SQL 获取每个唯一 ID 的第一行以及第一行之后 x 时间内具有该 ID 的每一行

php - 将最早和最新日期获取到按最早日期排序的单个 MySQLi 结果中

javascript - 没有mysql列出元素的最佳方法是什么

utf-8 - HTTP 请求 header 是否必须采用 UTF-8 编码?

mysql - MySQL 字段上的索引未按预期工作(innodb)

mysql - 重新排列每个月的 MySQL 表