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 ...
随机推荐
- java实现第四届蓝桥杯快速排序
快速排序 题目描述 快速排序算法是典型的分治思想的运用.它使用某个key把全部元素分成两组,其中一组的元素不大于另一组.然后对这两组再次进行递归排序. 以下代码实现了快速排序.请仔细阅读代码,填写缺少 ...
- opencl(3)程序、内核
1:程序 1)从上下文中创建程序 cl_program clCreateProgramWithSource( cl_context context, //上下文 cl_uint count, //文本 ...
- TensorFlow从0到1之矩阵基本操作及其实现(7)
矩阵运算,例如执行乘法.加法和减法,是任何神经网络中信号传播的重要操作.通常在计算中需要随机矩阵.零矩阵.一矩阵或者单位矩阵. 本节将告诉你如何获得不同类型的矩阵,以及如何对它们进行不同的矩阵处理操作 ...
- C#构造函数 -0028
默认构造函数 声明基本构造函数的语法就是声明一个与类同名的方法,但该方法没有返回类型: public class MyClass { public MyClass() { } // rest of c ...
- Python Selenium百度搜索翻页查找文字
#!/usr/bin/python # -*- coding: utf- -*- from selenium import webdriver import time # browser = webd ...
- Oracle调用Java方法(下)复杂Jar包封装成Oracle方法以及ORA-29521错误
上一篇随笔中已经说了简单的Jar是如何封装的,但是我的需求是根据TIPTOP的查询条件产生XML文件并上传到FTP主机中,那么就要涉及到XML生成的方法和FTP上传的方法 所以在Eclipse写的时候 ...
- Kali中密码暴力破解工具hydra的使用
前言 hydra是著名黑客组织thc的一款开源的暴力破解密码工具,功能非常强大,kali下是默认安装的,几乎支持所有协议的在线破解.密码能否破解,在于字典是否强大.本文仅从安全角度去讲解工具的使用,请 ...
- InnoDB 中 B+ 树索引的分裂
数据库中B+树索引的分裂并不总是从页的中间记录开始,这样可能会导致空间的浪费,例如下面的记录: 1, 2, 3, 4, 5, 6, 7, 8, 9 插入式根据自增顺序进行的,若这时插入10这条记录后需 ...
- 一分钟开始持续集成之旅系列之:C 语言 + Makefile
作者:CODING - 朱增辉 前言 make 工具非常强大,配合 makefile 文件可以实现软件的自动化构建,但是执行 make 命令依然需要经历手动输入执行.等待编译完成.将目标文件转移到合适 ...
- 【解读】TCP粘包拆包
一.TCP粘包.拆包图解 假设客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到字节数是不确定的,故可能存在以下四种情况: 1)服务端分两次读取到了两个独立的数据包,分别是D1和D2, ...