
Mysql
文章平均质量分 74
追逐吾之所求
我就是我,最真的我!
展开
-
Mysql REPLACE INTO 用法
一、replace(object,search,replace)把object中出现search的全部替换为replaceselect replace('www.jb51.net','w','n') from ...例:把表table中的name字段中的detail替换为descriptionupdate table set name=replace(name,'detail','description')二、replace intoreplace into 主要作用类似inse转载 2022-05-06 18:11:17 · 29008 阅读 · 0 评论 -
Centos7安装mysql遇到的问题
Centos7安装mysql遇到的问题:The GPG keys listed for the “MySQL 5.7 Community Server” repository are already installed but they are not correct for this package.Check that the correct key URLs are configured for this repository.Failing package is: mysql-communit转载 2022-03-07 12:06:11 · 1272 阅读 · 3 评论 -
mysql同时更改多条数据源 批量更新与批量更新多条记录
批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即可:UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values');这里注意 ‘other_values' 是一个逗号(,)转载 2021-04-26 11:20:16 · 10122 阅读 · 1 评论 -
password has expired.To log in you must change itusing a client that supports expired passwords
问题原因:密码过期无法登陆解决方案:重新设置mysql账户密码步骤:1.命令行中输入如下代码(账户名为root),然后输入密码登录账号mysql -u root -p2.重新设置密码SET PASSWORD = PASSWORD('密码');3.这一步可以执行也可以不执行,看实际需求1)设置账户的密码永远不过期ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;2)保存刷新FLUSH PRIVILEGE.原创 2020-10-23 15:05:16 · 582 阅读 · 0 评论 -
MySQLError 1418
MySQL开启bin-log后,调用存储过程或者函数以及触发器时,会出现错误号为1418的错误:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its declaration and binary logging is enabled(you *might* want to use the less safe log_bin_trust_function_creators转载 2020-08-31 11:43:46 · 351 阅读 · 0 评论 -
Mysql Error 1442
报错信息如下:ERROR 1442 (HY000): Can't update table 'event1' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.个人理解是因为在更新读取表A的时候,触发器又要读取表A的数据然后再更新表A。如下面的代码:CREATE TRIGGER `updateSelfStatusUpd原创 2020-08-25 22:56:25 · 1347 阅读 · 0 评论 -
mysql中整数类型后面的数字,是不是指定这个字段的长度?比如int(11),11代表11个字节吗?
原先对mysql不太理解,但也没有报错。但理解的不够深入。这次补上。原来以为int(11)是指11个字节,int(10)就是10个字节。我错了。参考:http://zhidao.baidu.com/link?url=puYWaGBQNKNHgffO5kdvXshF3KmX8OuB4Mor3HXapbNHa8m1CdlF8PJTqVuKa1eKcEd6Bv2NKUr3I-KJr5-7ISLhBsmf17Lu69vxv2aR99_mysql的基本数据类型里几个int如下:类型 大小 范围(有.转载 2020-05-29 01:28:26 · 570 阅读 · 0 评论 -
mysql中数据类型的取值范围
mysql整型bigint、int、mediumint、smallint 和 tinyint的语法介绍,如下:1、bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到18446744073709551615。一位为 8 个字节。2、int一个正常大小整数。有符号的范围是-2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647转载 2020-05-29 01:24:38 · 1099 阅读 · 0 评论 -
MySQL中汉字占多少字节?varchar(x)中的x如何理解?
这几天在写接口校验,碰到个有意思的事,前端开发人员问我某个字段的长度控制在多少?我查了查数据库,发现是varchar(100),于是就说数据库字段限制100,汉字咱们限制50吧。每个汉字占2个字节,100/2=50,看起来没什么问题。这时旁边另一个开发说不对,有的偏僻字占3个字节。。。这就很尴尬了,这长度校验咋写?于是我上网查了查,发现原来我们都理解的不对MySQL中varchar(100)中的100指的是字符数,不是字节数。也就是说,varchar(100)能输入100个英文,100个转载 2020-05-28 22:32:37 · 1524 阅读 · 0 评论 -
mysql的group_concat函数设置最大长度
mysql的group_concat函数,默认最大长度是1024查询sql:show variables like 'group_concat_max_len';设置方式:修改配置文件my.ini:在[mysqld]下新增配置:group_concat_max_len = 4294967295;注意是:在[mysqld]下新增;在[mysqld]下新增;在[mysqld]下新增;重要的事情说三遍。然后重启mysql服务,然后通过上面的查询sql进行查看是否生效。.转载 2020-05-19 11:56:33 · 6198 阅读 · 1 评论 -
Mysql 给查询出的结果集添加自增序号
SELECT @rownum:=@rownum+1 AS rownum, A.*FROM ( SELECT U.* FROM `users` U ORDER BY U.`id` DESC ) A, (SELECT @rownum:=0) B转载 2020-04-10 22:53:23 · 2169 阅读 · 0 评论 -
Mysql : [Err] 1221 - Incorrect usage of UNION and ORDER BY order by,和union 同时使用问题解决
select * from( select * from 表名 order BY 条件 desc ) send1UNIONselect * from(select * from 表名 order BY 条件 desc ) send2UNIONselect * from(select * from 表名 order BY 条件 desc ) send3如果直接union,会报错[...转载 2020-04-10 21:42:26 · 730 阅读 · 0 评论 -
MYSQL 中 LEFT JOIN ON 后的AND 和WHERE
表1 app_notification_user,里面有两条数据:表2 app_notification, 里面有一条数据语句1:SELECT anu.id,anu.app_notification_id,anu.`status`,an.* FROM app_notification_user anu LEFT JOIN app_notification an ...转载 2020-03-31 11:15:00 · 492 阅读 · 1 评论 -
Mysql 查询结果赋值到变量
1. 单个赋值 -使用intoSELECT `name` INTO @name FROM table WHERE `id`=1 ;2.多个赋值 - 直接赋值SELECT @name:=`name`, @phone:=`phone` FROM table WHERE `id`=1 ;原创 2020-03-28 00:29:52 · 9329 阅读 · 0 评论 -
MySql 数据表字段常用查询记录
#获取数据表的所有字段信息SELECT C.* from information_schema.COLUMNS C where table_name = 'baseinfo_vehicle';#拼接数据表的所有字段名SELECT GROUP_CONCAT(CONCAT(" `",C.COLUMN_NAME,"`")) from information_schema.COLUMNS C whe...原创 2020-03-01 22:26:19 · 184 阅读 · 0 评论 -
Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation ‘=
解决方案:1.数据表- 改变字段的字符集以及排序规则:字符集:utf8排序规则:按实际需要选择utf8_unicode_ci 或者utf8_general_ci2.变量 -改变变量的字符集以及排序规则:SET @str := 'abc';SET @str := CONVERT(@str USING utf8) COLLATE utf8_unicode_ci;...原创 2020-01-06 15:57:03 · 335 阅读 · 0 评论 -
Mysql AVG和LIMIT混合使用
直接在Sql语句中使用LIMIT无效,需要把LIMIT查询到的结果作为一个结果集供AVG函数统计平均值才能生效,具体如下代码:SELECT AVG(A.Score) AS avg_score FROM( SELECT Score FROM `table_score` LIMIT 0, 100) AS A;...原创 2019-12-10 22:10:24 · 931 阅读 · 0 评论 -
嵌套评论的数据库表设计
create database NestedCommnetsuse NestedCommnetsCreate table UserComments( Id int not null identity(1, 1), ParentId int not null, Content nvarchar(100) not null, Depth smallint not n转载 2017-08-16 22:49:15 · 5974 阅读 · 10 评论 -
Mysql 数据记录去重后按字段排序
实现效果:去重—取最新的—排序 例子 : 按用户ID获取历史记录中某个人的记录,要求非重复的且每条只获取最新的,同时按添加时间倒序排列的实现 : SELECT * FROM ( SELECT * FROM historys WHERE types_id=1 ORDER BY `created` DESC ) AS B GROUP BY B.data_idorder by B.created DESC原创 2017-11-05 15:00:22 · 4161 阅读 · 1 评论 -
MySQL的 FOUND_ROWS() 函数和 ROW_COUNT() 函数
1.先填个坑如果你要测试 FOUND_ROWS() 和 ROW_COUNT()这两个函数,最好就不要用那些MySQL的图形化管理工具软件了(例如,SQLYog)。因为当你使用些工具软件执行某条SQL语句时,可能实际上并不仅仅是执行了这条SQL,这些软件同时会在后台自己执行一些其他SQL语句。所以有时你可能会发现这两个函数返回的结果和你预期的并不一样。所以呢,最好还是用 cmd 窗口来执行SQL...转载 2019-05-03 14:47:26 · 417 阅读 · 0 评论 -
MySql存储过程捕获异常回滚
DROP PROCEDURE IF EXISTS pro_test;CREATE PROCEDURE pro_test( para_a varchar(50), para_b varchar(50))BEGIN DECLARE result_code INTEGER DEFAULT 0; -- 定义返回结果并赋初值0 DECLARE CONTINUE HA...转载 2019-05-03 15:19:24 · 4216 阅读 · 1 评论 -
PHP调用MYSQL存储过程实例
实例一:无参的存储过程$conn = mysql_connect('localhost','root','root') or die ("数据连接错误!!!");mysql_select_db('test',$conn);$sql = "create procedure myproce()beginINSERT INTO user (id, username, sex) VALUES ...转载 2019-05-03 15:30:20 · 578 阅读 · 0 评论 -
MySql error1337 Variable or condition declaration after cursor or handler declaration
存储过程中用到了游标,在定义变量是遇到了:ERROR 1337: Variable or condition declaration after cursor这里是要先声明变量,再开始游标。游标(cursor)必须在声明处理程序之前被声明,并且变量和条件必须在声明游标或处理程序之前被声明。如字面意思所说,先声明变量,再声明游标。代码如下:DROP FUNCTION IF ...原创 2019-05-05 18:46:14 · 11496 阅读 · 0 评论 -
Strict Standards: mysqli::next_result错误 / Commands out of sync; you can't run this command now
如题,解决 Strict Standards: mysqli::next_result错误这是PHP手册上的例子msyqli::multi_query提示:StrictStandards:mysqli::next_result()[mysqli.next-result]:Thereisnonextresultset.Please,callmysqli_more_re...转载 2019-05-05 19:10:32 · 408 阅读 · 0 评论 -
PHP执行MYSQL存储过程报错:Commands out of sync; you can't run this command now
在PHP同一事务里调用MYSQL的存储过程后再次执行另外的一个或多个命令(或者在同一事物里执行多个存储过程),如果使用mysqli的query方法获得结果,将获得一个错误:Commands out of sync; you can't run this command now sss 先给出代码:存储过程:CREATE PROCEDURE test1()begin drop ...转载 2019-05-05 19:21:44 · 1183 阅读 · 0 评论 -
PHP 调用MySql的存储过程不执行 可能的原因
场景:1.在数据库管理软件里针对MySql类型的数据库写好了存储过程A,确认A没有问题可以正确运行2.PHP调用MySql的存储过程Amysql_query('CALL A()', $db);结果:存储过程A并没有被调用到bug:存储过程A中在定义变量时,不能使用SELECT @birthday:=( SELECT `birthday` FROM `member...原创 2019-05-01 00:36:42 · 829 阅读 · 0 评论 -
【转】【mysql】---Navicat --外键建立与cannot add foreign key constraint分析
【mysql】---Navicat --外键建立与cannot add foreign key constraint分析转载 2019-06-18 11:39:39 · 110 阅读 · 0 评论 -
mysql 中unsigned
mysql 中unsigned转载 2019-06-18 11:40:06 · 1054 阅读 · 0 评论 -
PHP调用存储过程失败(没有执行到)--mysql_error()--can't return a result set in the given context
昨天在做一个PHP调用MYSQL的存储过程时遇到一个问题。MYSQL的存储过程没错,直接在Navicat调用 CALL rececle('88')时没错,但一到PHP调用时就出错了,什么都没获取到。最后用mysql_error()获取到了一个错误,为 can't return a result set in the given context。然后在网上查看别人的解决方法才发现的确是自原创 2017-07-05 16:34:43 · 1570 阅读 · 0 评论