myssql字符集

补充一篇关于myssql字符集的文章

今天在mysql中遇到一个问题,SQLException: #HY000,百度都说是插入数据的时候有空数据,数据库不允许为空导致,

经过仔细查找,终于找到可能的原因:数据库字符集问题

 

查看字符集

    查看数据库默认字符集

        show variables like 'char%';

        show variables like 'character';

    查看数据库字符集

        show create database <数据库名>;

    查看数据库表字符集

        show create table <表名>;

     有兴趣的可以通过substring_index(str,delim,count) 函数截取完善下,我就先不弄了

 

修改字符集

    修改数据库默认字符集

        vi /etc/mysql/mysql.conf.d/mysqld.cnf
            [mysqld]
            character_set_server = utf8

        重启数据库

    修改数据库字符集

        alter database 数据库名 character set utf8;

    修改表字符集

        alter table <表名> character set utf8;

    修改字段字符集(修改字段时修改字符集)

        alter table <表名> change <原字段名> <新字段名> <新类型> character set utf8;

 

创建时指定字符集

    创建数据库时指定字符集

        create database <数据库名> character set utf8;

    创建数据库表时指定字符集

        create table tb_books (
            字符安数据

        ) default charset = utf8;

 

 

参考文献

https://blog.csdn.net/ckinghan58/article/details/105392159

https://blog.csdn.net/qq_37789586/article/details/80044977

https://blog.csdn.net/weixin_41802988/article/details/80341961

https://blog.csdn.net/lxhmall/article/details/78910498

https://blog.csdn.net/lxhmall/article/details/78910498

https://blog.csdn.net/Ricardo18/article/details/82684943

 

Logo

更多推荐