精华内容
下载资源
问答
  • 1.插入数据显示错误,插入不成功,出现:Incorrect string value: ‘\xCD\xF5\xD5\xBC\xBE\xA9’ for column ‘Sname’ at row 1 2.插入中文,虽然插入成功,但是显示:?? 解决方法: 在my.ini文件的 [mysqld] ...
  • 存储过程是数据库的重要工具,它的作用相当于高级编程语言的函数,一旦定义好了,在后续操作就可以直接调用,无需再进行编译。定义存储过程的方法有很多,不同的数据库语法也各不相同,这里不再赘述。我要说的是...

    存储过程是数据库的重要工具,它的作用相当于高级编程语言中的函数,一旦定义好了,在后续操作中就可以直接调用,无需再进行编译。

    定义存储过程的方法有很多,不同的数据库语法也各不相同,这里不再赘述。我要说的是一种语法错误的解决方法。

    假设现在有一个课程数据库,数据库课程表内容如下:

    现在我想编写一个存储过程,输入是课程编号,输出是课程名称。编写的代码如下:

    create procedure course_id_name(in cid varchar(20))
    begin
    select name
    from course
    where id = cid;
    end;

    如果运气好,可以编译通过,运气不好就会出现如下报错:

    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 '' at line 5

    这时候就会很奇怪,语法明明没有错,而且有的人就可以直接运行,偏偏自己不行。

    这里只能猜测是数据库的版本问题,出现这个错误的数据库编译的时候认为第五行where id = cid; 这句话的分号就代表了整个语句的结束,因此它就会感到奇怪,明明上面有个begin,怎么没有end呢?所以就报错了。

    知道了错误的原因,我们就只需要让编译器明白第五行的分号不代表语句的结束,一直到end以后语句才结束就可以了。做法也很简单,使用delimiter命令暂时更换结束符就行了。代码如下:

    delimiter //  --将结束符换成//
    
    create procedure course_id_name(in cid varchar(20))
    begin
    select name
    from course
    where id = cid;
    end//
    
    delimiter ;   --将结束符换回;

    记得定义完成后一定要把结束符换回默认的分号 ; ,否则以后就一直要用 // 来结尾了,不过经过测试不会影响存储过程的正常运行。

    调用及结果如下:

    call course_id_name('C01');

    当然这里也可以把delimiter命令放在存储过程内部,原理都大同小异,可以自行探索。

    展开全文
  • 解决IDEA向MySQL数据库插入中文数据出现乱码的问题

    千次阅读 多人点赞 2020-06-06 12:29:04
    问题出现情况 不知道大家在使用IDEA插入一条MySQL数据时是否出现过乱码的问题,比如我在...其实解决这个问题的方法很简单,就是在我们连接数据库的时候都会去配置一个存储连接数据库信息的properties文件,如:jdbcCon

    问题出现情况

    不知道大家在使用IDEA插入一条MySQL数据时是否出现过乱码的问题,比如我在插入数据一条用户数据时,涉及到了地址属于中文的情况,就出现了都是“???”的情况,如下图所示,之前查找了资料,说是我的数据库没有设置成utf-8的格式,或者数据库的表没有设置成utf-8的格式,于是我就检查了它们的格式,但是还是出现乱码情况,所以现在说下我是怎么解决的。
    代码演示
    乱码情况

    解决方法

    其实解决这个问题的方法很简单,就是在我们连接数据库的时候都会去配置一个存储连接数据库信息的properties文件,如:jdbcConfig.xml,或者有些人会直接在xml文件中写连接数据库的信息。如下图所示。
    连接数据库信息
    如果,如我上图这样写url路径就会出现错误的,因此要解决这个问题只需要在这串url后面加一个后缀:?useUnicode=true&characterEncoding=utf8,完整的url示例如下:

    • jdbc.url=jdbc:mysql://localhost:3306/zzh?useUnicode=true&characterEncoding=utf8

    加完后,我们再看看插入一个用户,MySQL数据库的显示情况,如下图:
    新插入的一条数据
    数据库显示情况
    由此可见,我们解决了IDEA插入数据后出现乱码的问题。

    展开全文
  • 在向数据库中存储一条信息的过程中出现数据库的乱码问题 ssm项目 方法为get类型 一步一步开始排查错误 一开始没多想,想到get类型的方法就直接在后台 String str = new String(request.getParameter(“param...

    在向数据库中存储一条信息的过程中出现了数据库的乱码问题
    ssm项目
    方法为get类型
    一步一步开始排查错误
    一开始没多想,想到get类型的方法就直接在后台
    String str = new String(request.getParameter(“param”).getBytes(“iso8859-1”),“UTF-8”);
    很自信的重启了项目发现并没什么变化
    认真一点开始排查
    打断点,查看到底是在执行存数据库操作之前就已经乱码了,还是存数据库操作后乱码的。
    发现传值并无问题,问题是在存储到数据库的时候发生乱码。
    问题找到了开始找解决问题的办法
    首先试了更改tomcat的uriEncoding
    在pom.xml中

    		   <plugin>
    				<groupId>org.apache.tomcat.maven</groupId>
    				<artifactId>tomcat7-maven-plugin</artifactId>
    				<configuration>
    					<port>8081</port>
    					<path>/</path>
    					<uriEncoding>UTF-8</uriEncoding>
    				</configuration>
    			</plugin>
    

    然而发现还是没有用。
    再仔细想了想还有没有疏漏的地方
    在配置jdbc数据源的时候加上:
    characterEncoding=UTF-8
    jdbc.url =jdbc:mysql://127.0.0.1:3306/xxxx?characterEncoding=UTF-8
    再次重启项目问题解决。

    顺便搜罗了一下此种问题的其他

    展开全文
  • 在生产系统数据库服务突然在下午崩溃,起初只是以为远程连接失败导致的服务异常。结果在服务器上检查之后发现整个服务都瘫痪了,并且无法进行正常重启和关机操作,于是就开始了漫长的抓鱼生涯,好在最后抓住了鱼...

    在生产系统中的数据库服务突然在下午崩溃,起初只是以为远程连接失败导致的服务异常。结果在服务器上检查之后发现整个服务都瘫痪了,并且无法进行正常重启和关机操作,于是就开始了漫长的抓鱼生涯,好在最后抓住了鱼,并解决了问题,以此作为记录。

    一、出现2013错误

    首先遭殃的是网页服务出现了问题,后来定位到是数据库访问失败导致的网页服务问题。于是通过远程管理工具Navicat进行连接发现返回了错误代码为2013的问题,由于以前没有遇到过此类问题,于是先通过百度搜索该错误代码的意思。
    大部分的博主反馈说是服务器上的数据库服务异常导致的连接异常,到服务器上一看MySQL进程,果然是有问题的:
    exception

    二、重启

    遇事不决,即重启。我首先想到的是直接把MySQL服务重启一下,于是直接将上面截图中有诸多问号的那个进程给kill掉,然后再进行启动

    service mysql start
    

    这个时候,发现mysql启动不了,返回了如下信息:

    start: Job failed to start
    

    心里一凉,难道MySQL的启动命令都失效了,莫非是配置文件遭到了损坏?
    使用service mysql status查看了一下MySQL的当前状态,返回如下信息:

    mysql stop/waiting
    

    推测是否是之前直接杀进程的方式让MySQL没有正常停止,我使用了如下命令进行启动,返回了关键信息:

    /etc/init.d/mysql start
    
    The partition with /var/lib/mysql is too full!
    

    磁盘分区满了。使用df -h命令查看磁盘存储情况

    100%
    被占用到100%了,难怪出现异常。我将日志数据和冗余备份数据进行了清理之后,磁盘容量恢复到50%以下,直接想登录一下MySQL看看效果怎么样,使用mysql -uroot -p登录之后,又返回了一个错误:

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
    

    查阅相关资料之后,发现是socket路径连接出现异常,在YunWisdom博主的博客ERROR 2002 (HY000): Can’t connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock’的指导下,我选择了第四点故障解决方法的第二种解决方案,执行以下命令重新建立正确的socket链接:

    ln -s /storage/db/mysql/mysql.sock /var/lib/mysql/mysql.sock
    

    这个时候我再执行MySQL重启命令:service mysql restart
    之后再进行访问数据库发现,已经没有任何问题了。

    三、总结

    在整个解决过程中,我的目标很明确,用最简单的方法解决最难的问题。然而就是在采用重启的解决方法过程中碰到了形形色色的问题,不过好在开源社区对于问题的总结和分享帮助了我定位到准确的症结,最后在实践的基础上成功解决了异常,还是比较有成就感。
    首先要理解报错反馈信息,因为机器是不会骗人的,通过关键报错信息定位问题是很重要的一项技能。然后才是通过关键报错信息来查找相关解决方案,最后选择最合适的方案解决问题。

    参考资料:

    展开全文
  • arcgisdesktop10.2注册数据库时遇到的一个问题 ...错误:注册数据库数据存储失败,出现数据库连接无效”或“数据项无法访问” 错误信息 Error: Registering a database data store fails with ‘Invalid dat...
  • mysql导入数据库中存储过程和函数出现错误的解决办法调用一个远程拷贝的本地Mysql的储存过程报错:[Err] 1449 - The user specified as a definer ('repl'@'192.168.1.%') does not exist解决想法:凭借以前经常...
  • 数据库存储过程简单介绍

    千次阅读 2019-03-05 15:37:35
    存储过程就是一条或多条SQL语句的集合 当对数据库进行一系列的操作时 存储过程就可以将这些复杂的操作封装成一个代码块 以便重复使用 大大减少了数据库开发人员的工作量 创建存储过程 创建存储过程的基本语法 CREATE...
  • 什么数据库会丢失数据?

    千次阅读 2020-02-07 09:00:00
    数据库管理系统在今天已经是软件的重要组成部分,开源的 MySQL、PostgreSQL 以及商业化的 Oracle 等数据库已经随处可见,几乎所有的服务都需要依赖数据库管理系统存储数据。...
  • 错误:在数据库中通过text文本存储中文字符出现如图下所示错误 错误: 1.测试英文字符,数字,标点均能插入到text文本 2.测试中文标点,汉字均不能通过 解决思路: 分析原因1.mysql数据库版本过低 分析...
  • 数据库学习】数据库总结

    万次阅读 多人点赞 2018-07-26 13:26:41
    数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 常见数据库管理系统有:Access、mysql、sql server 2)特点 ①数据库数据特点 永久存储、有组织、可共享。 (数据的最小存取...
  • 详解数据库存储过程与错误处理

    千次阅读 热门讨论 2013-06-21 17:10:28
     为了完成特定功能,预先用SQL语句写好并经编译后存储数据库中。  看到定义,刚开始学习的人一定有很多的疑问,到底存储过程和一般的SQL语句有什么区别呢? 存储过程的优点:  1.存储过程只在创造时进行编译...
  • 数据库原理》— 数据库系统概论第五版习题解析

    万次阅读 多人点赞 2017-05-29 14:57:48
    数据库系统概论前七章习题解析 第1章绪论 1.试述数据、数据库数据库系统、数据库管理系统的概念。答: (l)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。...
  • 数据库面试题

    千次阅读 多人点赞 2018-05-24 10:46:20
    存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。 调用: 1)可以用一个命令对象...
  • MySQL数据库存储过程讲解与实例

    万次阅读 多人点赞 2018-06-03 00:48:17
    SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。...
  • mysql数据库储存过程

    千次阅读 2019-08-28 20:26:23
    mysql数据库的 ‘储存过程’ 其实就是把多个select操作的语句封装起来,再给他们一个名称用来以后的调用,你可以理解为python的函数,差不多 优点 1 通过吧处理封装在容易使用的单元,简化复杂的操作 2 由于不...
  • mysql删除数据库出现错误1064《42000》You have an error in your SQL syntax;check the manual that correspongs to your mysql server version for the right syntax to use near 'drop database' lifang-log' ...
  • 如果所有的语句执行成功那么修改将全部生效,如一条sql语句将销量+1,下一条再+1,倘若第二条失败,那么销量将撤销第一条sql语句的+1操作,只有在该事务所有的语句都执行成功才将修改加入到数据库中。...
  • MySQL数据库-存储过程详解

    万次阅读 多人点赞 2017-12-14 15:36:51
    在我看来, 存储过程就是有业务逻辑和流程的集合, 可以在存储过程创建表,更新数据, 删除等等。 MySQL基础教程之存储过程 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将...
  • 数据库存储过程

    万次阅读 2017-01-04 09:24:51
    存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 存储过程是由 流控制 和 SQL语句书写的过程,这个过程经编译和优化后存储数据库服务器。 ...
  • 安装Hive时出现无法访问数据库错误

    千次阅读 2018-07-08 01:17:54
    重新安装了一下hive,在连接远程的mysql数据库时,出现无法连接远程数据库错误如下:于是上网百度了一下出现这种错误原因一般是hive-site.xml配置文件数据库的配置,用户名或密码输入不正确,还有就是远程访问...
  • 数据库管理系统

    千次阅读 2018-10-24 00:14:00
    一、数据库管理系统的基本功能 ...在关系数据库中就是建立数据库(或模式)、表、视图、索引等,还有创建用户、安全保密定义(如用户口令、级别、角色、存取权限)、数据库的完整性定义。这些定义存储在数据字典(亦...
  • 笔者最近在研究小语种域名,需要先将punycode编码的域名(即带有“xn--”的域名)转成Unicode编码的域名(即以小语种形式表示的域名),并判断语种。可是,在将数据写入数据库的时候中文变成了乱码,...3、C++存储中...
  • 今天在创建数据库时,跟着老师一步一步的操作创建成功,但出于在厌恶冗长的数据库存储路径,于是,擅自更改了数据filename,让他保存在电脑桌面新建的文件夹,可是一执行就报错了。 老师源码: create database ...
  • 切换到任意用户下,执行sql alter user 用户名 accout unlock;
  • Mysql数据库存储过程基本语法讲解

    万次阅读 2018-02-06 18:01:13
    Mysql数据库存储过程基本语法讲解 一般情况下MYSQL以;结尾表示确认输入并执行语句,但在存储过程;不是表示结束,因此可以用该命令将;号改为//表示确认输入并执行。存储过程如同一门程序设计语言,同样包含了...
  • 数据库

    千次阅读 2019-02-23 17:44:47
    数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。云数据库具有高可扩展性、高可用性、采用...
  • sqlserver安装出现找不到数据库引擎错误 问题的解决 第一次安装SQL server,发现它较于Oracle,都有安装卸载十分麻烦的特点。刚开始安装,就让我频繁遇到这个“找不到数据库引擎”的错误。经过多次卸载安装后,终于...
  • 最近使用oraclede impdp工具全库导入数据库时,在数据库里面使用... 批处理中出现错误: ORA-00001: 违反唯一约束条件 (GDXAORCL.SYS_C0055359) ; nested exception is java.sql.BatchUpdateException: 批处理中出现
  • laravel 记录错误日志到数据库

    千次阅读 2018-11-30 22:23:22
    laravel 记录错误日志到数据库: https://github.com/markhilton/monolog-mysql 在.env里面加上这两个全局变量: DB_LOG_TABLE=debug_logs DB_LOG_CONNECTION=mysql composer require markhilton/monolog-mysql ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 585,284
精华内容 234,113
关键字:

数据库存储中会出现什么错误