系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > Mysql > 详细页面

MySQL Error (Always Continue)

时间:2020-06-29来源:www.pcxitongcheng.com作者:电脑系统城

MySQL Error (Always Continue)

 

其实大部分error在网上都有对应的解决办法,尤其是对Mysql这种使用范围很广的技术。自己就不为每个error单独发布博客了,仅在这里不断添加,将自己遇到过的error,error原因,以及解决过程整理于此。

 

Error 1366

Error情景:为varchar()类型数据新增字段的时候,明明有双引号且格式无误,但就是报错1366,无法插入。

原因:字段的字符集与传输SQL语句的字符集不想匹配。(0629)

Solution:修改字符集

方法一:仅修改该字段字符集

  • 查看字段字符集(表名为t)

    SHOW full columns FROM t;
    

    DESC t; 无法查看字符集信息

  • 修改字段属性(即,修改字段类型)

    ALTER TABLE t CHANGE content content varchar(20) character SET utf8 collate utf8_unicode_ci;
    

    当然,utf8作为我们最常用的字符集,当然不想一次次地修改。

    PS.

    _ci结尾的字符集“不区分大小写”, _cs结尾则区分大小写

    utf8是国际编码,包含所有国家需要用到的字符

    一般推荐使用utf8_unicode_ci,因为utf8_general_ci虽然校对速度快,但对德语、法语、俄语支持得不是很好,正确率较低。

方法二:修改数据库默认字符集并重启数据库

  • 退出当前所使用的数据库

    USE mysql;
    
  • 查询默认字符集

    SHOW variables like 'character%';
    
  • 修改默认字符集(Centos7 MySQL5.7)

    #退出MySQL
    vi /eyc/my.cnf
    #添加,保存并退出
    default-storage-engine=INNODB
    character-set-server=utf8
    collation-server=utf8_general_ci
    
  • 重启mysql

    systemctl restart mysqld.service
分享到:

相关信息

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载