MySQL Error (Always Continue)
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)的更多相关文章
- MySQL Error Handling in Stored Procedures 2
Summary: this tutorial shows you how to use MySQL handler to handle exceptions or errors encountered ...
- MySQL Error Handling in Stored Procedures
http://www.mysqltutorial.org/mysql-error-handling-in-stored-procedures/ mysql存储过程中的异常处理 定义异常捕获类型及处 ...
- MySQL.. ERROR! The server quit without updating PID file问题解决
不小心将服务器OS给重启了,再启动数据库的时候,出现了很奇怪的问题 [root@dev run]# service mysql restart ERROR! MySQL server PID file ...
- MySQL Error Handling in Stored Procedures---转载
This tutorial shows you how to use MySQL handler to handle exceptions or errors encountered in store ...
- 关于mysql登录异常处理方法 - mysql ERROR 1045 (28000)
今天在开发过程中遇到了一个很令人头痛的问题?? 使用 百度经验的步骤 [http://jingyan.baidu.com/article/495ba841ef412d38b30edeb2.html]修 ...
- MySQL ERROR 1005: Can't create table (errno: 150)的错误解决办法
在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can't create table (errno: 150)的错误信息结果是不能建立 引用约束. 出现问题的大致情况 1. ...
- 彻底解决phpcms v9升级后,文章发布出现: Mysql 1267错误:MySQL Error : Illegal mix of collations 解决办法
彻底解决phpcms v9升级后,文章发布出现: MySQL Query : SELECT * FROM `withli_a`.`v9_keyword` WHERE `keyword` = '吼吼' ...
- mysql: error while loading shared libraries: libmysqlclient.so.16
[root@host_41 mysql]# mysqlmysql: error while loading shared libraries: libmysqlclient.so.16: cannot ...
- [转]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 ...
随机推荐
- 在树莓派3b or 3a or 4a or 4b上搭建OpenWebRX
OpenWebRx OpenWebRX 项目提供了搭建WebSDR的解决方案,该项目基于 Python 编写,除了完全开源外,官方还提供了完备的技术文档.您只需要一台电脑或是树莓派,一个SDR设备和网 ...
- /etc/alternatives
如何安装一个可执行程序 一般来说我们一个可执行程序,可能在多个路径下,比如在opt路径下,或者在自己的home下. 当要达到在系统的任意路径下敲击该命令,都可执行的话,一般要将该可执行命令的路径加入到 ...
- class 类前向声明
/* 使用前向引用声明虽然可以解决一些问题,但它并不是万能的.需要注意的是, 尽管使用了前向引用声明,但是在提供一个完整的类声明之前,不能声明该类的对象, 也不能在内联成员函数中使用该类的 ...
- Linux学习初级篇-鸟哥的Linux私房菜 基础学习篇(第四版)
0.1.2 一切设计的起点:CPU的架构 由于CPU的内部是有一些微指令组成的,所以我们所使用的软件都是要经过CPU内部的微指令集来达成才行.那这些指令集的设计主要又被分为两种设计理念,这是目前世界上 ...
- 计算从1到n中,出现某位数字的次数
出现1-9中某位数字次数的算法 /** * @param input 整数n(1 ≤ n ≤ 1,000,000,000) * @return 1-9中某个数字在数列中出现的次数 */ public ...
- Redis学习笔记(十七) 集群(上)
Redis集群是Redis提供的分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移操作. 一个Redis集群通常由多个节点组成,在刚开始的时候每个节点都是相互独立的,他们处于一个只包含 ...
- Java规则引擎 Easy Rules
1. Easy Rules 概述 Easy Rules是一个Java规则引擎,灵感来自一篇名为<Should I use a Rules Engine?>的文章 规则引擎就是提供一种可选 ...
- ORM框架 Mybatis、Hibernate、Spring Data JPA之到底该用谁,谁更牛*
在持久层框架中无可厚非的就是mybatis了,但是也会经常被人问到为啥要用mybatis,为啥不用hibernate,jpa.很多人各级都是地铁爷爷看手机的表情,似乎从来没想过这个问题.“公司叫用我就 ...
- MongoDB——基本使用及集群搭建
文章目录 什么是MongoDb? 基本概念 与关系型数据库的比较 Mongo的高效性 文件存储 基本使用 启动/连接服务 基础操作命令 高可用集群搭建 概念 环境准备 实践 应用场景 总结 什么是Mo ...
- Spark如何与深度学习框架协作,处理非结构化数据
随着大数据和AI业务的不断融合,大数据分析和处理过程中,通过深度学习技术对非结构化数据(如图片.音频.文本)进行大数据处理的业务场景越来越多.本文会介绍Spark如何与深度学习框架进行协同工作,在大数 ...