我正在运行 mysql 5.6。
我从以前的开发人员那里继承的模式中的一些列具有明确指定的 collate
子句。
所有明确指定的 collate
子句都与数据库的默认 collate
相同。
有没有办法删除显式列 collate
子句?
与我当前的 collate
应该没有功能整理差异,但我想要以下内容:
collate
子句的列定义来自 mysql 的
create table
语句(我希望能够比较使用
create table
从代码库创建表的脚本从架构的不同实例获得的语句
不同的mysql服务器;显式列
collate
子句是仅在某些情况下,而不是在其他情况下,这需要我
使用比纯文本差异更复杂的差异)
collate
自动更改为如果我更改它,无论新的默认数据库
collate
是什么 1) 比 2) 重要得多,但是,因为我可能永远不会再更改
collate
。谢谢。
最佳答案
不使用 SHOW CREATE TABLE
,而是从 information_schema
表 TABLES
和 COLUMNS
中获取等效数据。
同时,您是否有 COLLATION
子句在某些情况下存在但在其他情况下不存在的示例?
关于mysql 5.6 : remove explicit column collate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24852680/