mysql - 查找具有 %latin1% 值的数据库的所有列
问题描述
我怎么能做这个 SQL 查询?
名称数据库:database_1
列:排序规则
值:latin1_swedish_ci
我需要所有“database_1”表的列表,这些表的列的值包含文本%latin1%。
我的最终目标:我需要更改包含此数据的所有表中的这些值,例如:
CHARACTER SET latin1 COLLATE latin1_swedish_ci
改成:
CHARACTER SET utf8 COLLATE utf8_unicode_ci
我已经准备好更换咨询:
ALTER TABLE `blog_sitemapconf` CHANGE `value` `value` VARCHAR(100) CHARACTER SET latin1 COLLATE latin1_english_ci NOT NULL DEFAULT '';
但我需要获取所有包含列的表的名称
CHARACTER SET latin1 COLLATE latin1_swedish_ci
解决方案
您可以从information_schema.columns
表中查询此信息:
SELECT table_name, column_name
FROM information_schema.columns
WHERE collation_name LIKE '%latin1%'
推荐阅读
- php - 在 php 上使用 mysqli 耗尽内存(256kB ???)
- c - 什么是 C/C++ 中的“抛出异常”?
- angular - Highchart 没有定义角度 9
- c++ - 如何编写将被继承的通用代码?
- python-3.x - 如何使用 groupby 与数组的组合
- python - 如何区分图形中的填充颜色和边框颜色?
- javascript - 您可以在 ionic Android 和 iOS 应用程序中使用 webRTC 吗?
- python-3.x - Pytesseract 混淆了零('0')和大写 O('O')
- facebook - Facebook 广告和谷歌标签管理器
- c - C 在结构中丢失数据