MySQL Error (Always Continue)

 

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

 

Error 1337 (42000)

Error情景:在创建存储过程时报错ERROR 1337 (42000): Variable or condition declaration after cursor or handler declaration

原因: 根据字面意思,我们要在定义游标和处理程序前定义完需要的变量以及“done”

Solution:将创建游标和处理程序(DECLARE continue HANDLER FOR NOT FOUND SET done = ture;)的定义放在最后

 

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
  • 检验:

    SHOW variables like 'character%';

    要求除了character_set_filesystem,character_sets_dir其他都为utf8.

     

Error 1054 (42S22)

Error情景:执行存储过程的时候报错ERROR 1054 (42S22): Unknown column 'temp_contnet' in 'field list'(0630)

原因:在执行从已有表中读取以字符串为内容的字段转存至新表时,两表中对应两字段字符集不相同

Solution:删除已新建的表和存储过程,修改存储过程新建表字符集,重新执行存储过程

 

Error 1062 (23000)

Error情景:执行存储过程的时候报错(0630)

原因:之前测试的存储过程已经创建了表存储过程中要创建的表,因此就直接进行插入数据,但因为执行之前的存储过程时数据已经插入,造成了PRIMARY KEY 的重复。

Solution:删除之前存储过程创建的表,重新执行存储过程

 

Error 1064 (42000)

Error情景:创建存储过程时报错ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near...(0710)

原因:根据英文可知是有语法错误

Solution:这里整理下有可能出现的语法错误,方便以后对照排查

  • 拼写错误
  • INSERT INTO 后面没有加括号,即使只有一个变量插入也要加括号

 

Error 1075 (42000)

Error情景:执行存储过程时报错(0630)

原因:根据error的提示,说明在存储过程中创建数据表时没有将自增列设置为主键

Solution:自增列必须为主键

 

MySQL Error (Always Continue)的更多相关文章

  1. MySQL Error Handling in Stored Procedures 2

    Summary: this tutorial shows you how to use MySQL handler to handle exceptions or errors encountered ...

  2. MySQL Error Handling in Stored Procedures

    http://www.mysqltutorial.org/mysql-error-handling-in-stored-procedures/ mysql存储过程中的异常处理   定义异常捕获类型及处 ...

  3. MySQL.. ERROR! The server quit without updating PID file问题解决

    不小心将服务器OS给重启了,再启动数据库的时候,出现了很奇怪的问题 [root@dev run]# service mysql restart ERROR! MySQL server PID file ...

  4. MySQL Error Handling in Stored Procedures---转载

    This tutorial shows you how to use MySQL handler to handle exceptions or errors encountered in store ...

  5. 关于mysql登录异常处理方法 - mysql ERROR 1045 (28000)

    今天在开发过程中遇到了一个很令人头痛的问题?? 使用 百度经验的步骤 [http://jingyan.baidu.com/article/495ba841ef412d38b30edeb2.html]修 ...

  6. MySQL ERROR 1005: Can't create table (errno: 150)的错误解决办法

    在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can't create table (errno: 150)的错误信息结果是不能建立 引用约束. 出现问题的大致情况 1. ...

  7. 彻底解决phpcms v9升级后,文章发布出现: Mysql 1267错误:MySQL Error : Illegal mix of collations 解决办法

    彻底解决phpcms v9升级后,文章发布出现: MySQL Query : SELECT * FROM `withli_a`.`v9_keyword` WHERE `keyword` = '吼吼' ...

  8. mysql: error while loading shared libraries: libmysqlclient.so.16

    [root@host_41 mysql]# mysqlmysql: error while loading shared libraries: libmysqlclient.so.16: cannot ...

  9. [转]MySQL: Starting MySQL….. ERROR! The server quit without updating PID file

    转自: http://icesquare.com/wordpress/mysql-starting-mysql-error-the-server-quit-without-updating-pid-f ...

随机推荐

  1. java代码(13) ---Predicate详解

    Predicate详解 遇到Predicate是自己在自定义Mybatis拦截器的时候,在拦截器中我们是通过反射机制获取对象的所有属性,在查看这些属性上是否有我们自定义的UUID注解 如果有该注解,那 ...

  2. 阿里云高级技术专家空见: CDN的数据化之路

    想要实现优质高速的互联网视频服务,一定离不开高质量的内容分发网络服务,就是我们常说的CDN,在10月13日云栖大会视频多媒体分论坛上,阿里云高级技术专家空见为大家讲解了CDN服务过程中,数据处理.安全 ...

  3. 04-Python基础3

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 孩子,我现在有个需 ...

  4. CentOS7——搭建LNMP环境(WordPress案例)

    CentOS7--搭建LNMP环境(WordPress案例) LNMP组成介绍 LNMP(Linux-Nginx-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统 ...

  5. 探究:Adobe Premiere Pro CC 2018 导入SRT字幕显示不全问题

    问题:如果使用PR,大概率会遇到导入SRT格式的字幕文件后,PR里面显示的字幕不完整,字幕丢失的问题. 探究:字幕文件的内容正常,导入PR后字幕出现丢失. 查看字幕文件,并测试,发现如下图,如果出现字 ...

  6. @hdu - 6426@ Problem A.Alkane

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 求包含 n 个碳的烷烃与烷基的同分异构体个数 mod 99824 ...

  7. 使用三台云服务器搭建真正的Redis集群

    三台云服务器搭建redis集群# 今天花了一天的时间弄集群redis:遇到了很多坑,从头开始吧 环境讲解: 两台配置:1核2G,另一台:1核1G: 操作系统:Centos 7.6 Redis:3.2. ...

  8. 《Java并发编程的艺术》第6/7/8章 Java并发容器与框架/13个原子操作/并发工具类

    第6章 Java并发容器和框架 6.1  ConcurrentHashMap(线程安全的HashMap.锁分段技术) 6.1.1 为什么要使用ConcurrentHashMap 在并发编程中使用Has ...

  9. SpringBoot 构建 Docker 镜像的 3 种方式

    本文将介绍3种技术,通过 Maven 把 SpringBoot 应用构建成 Docker 镜像. (1)使用 spring-boot-maven-plugin 内置的 build-image. (2) ...

  10. cb08a_c++_顺序容器的操作1

    cb08a_c++_顺序容器的操作1容器定义的类型别名begin(闭区间)和end(开区间)成员{first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个. /*cb08a_c ...