当前位置:  开发笔记 > 后端 > 正文

更改MySQL存储过程'Database Collat​​ion'名称

如何解决《更改MySQL存储过程'DatabaseCollat​​ion'名称》经验,为你挑选了1个好方法。

我已经从本地机器到服务器机器导入了数据库.导入数据库时​​,DB的字符集值由系统默认设置为"Latin".我已将utf8数据库的字符集更改为" ".但是,不修改数据库排序规则值的存储过程.目前它是" latin1_swedish_ci".如何将数据库排序规则值从" latin1_swedish_ci" 更改为" "以utf8_general_ci用于所有存储过程.

SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = DB_Name;

USE DB_Name;
ALTER DATABASE DB_Name
DEFAULT CHARACTER SET = utf8
DEFAULT COLLATE=utf8_general_ci;

SET NAMES UTF8;

提前致谢.



1> eggyal..:

如CREATE PROCEDURE和CREATE FUNCTION语法中所述(强调添加):

如果CHARACTER SETCOLLATE属性不存在,则使用在例程创建时生效的数据库字符集和排序规则.为避免服务器使用数据库字符集和排序规则,请为字符数据参数提供显式CHARACTER SETCOLLATE属性.

如果更改数据库缺省字符集或排序规则,则必须删除并重新创建使用数据库缺省值的存储例程,以便它们使用新的缺省值.


该文档并没有真正告诉您如何使用它们。另外mysql workbench有一个错误,告诉您COLLATE始终无效,即使它是无效的。
推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有