创建表后如何修改表的collation?遇“No collation provided”报错求解决
修改表Collation为NONE的替代方法
当通过phpMyAdmin的「Operations > Table options」修改失败时,直接用SQL语句是更可靠的方案,具体操作如下:
- 打开数据库管理工具的SQL执行面板(比如phpMyAdmin的「SQL」标签页)
- 执行以下SQL命令,将
your_table_name替换成你的目标表名:
如果仅需修改表的默认排序规则,不转换现有字段的字符集和排序规则,可以用这条:-- 转换表及所有字段的字符集和排序规则为binary(等同于“无字符排序”的效果) ALTER TABLE your_table_name CONVERT TO CHARACTER SET binary COLLATE binary;ALTER TABLE your_table_name DEFAULT COLLATE binary;
注:MySQL中并没有名为「none」的官方排序规则,binary排序规则是按字节值直接比较,不做字符层面的排序逻辑,完全符合你想要的“无collation”效果。
- 执行完成后,可通过以下命令验证修改结果:
在返回的结果中查看SHOW CREATE TABLE your_table_name;COLLATE字段,确认已修改为binary。
内容的提问来源于stack exchange,提问作者Dyari Dlshad
相关产品推荐
相关产品推荐

