随笔分类 -  mysql

摘要:(1) 不严谨的,最简单的 select MAX(字段名 + 0) from 表名; (2) 使用函数实现 select MAX(cast(字段名 as SIGNED INTEGER)) from 表名; 或者 select MAX(cast(字段名 as UNSIGNED INTEGER)) from 表名; 阅读全文
posted @ 2019-03-01 16:11 苍洱 阅读(338) 评论(0) 推荐(0) 编辑
摘要:解决方法一: SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); 优点:不用重启mysql 缺点:重启mysql后还会出现标题错误 SELECT @@global.sql_mode; 查询全局的 @@session.s 阅读全文
posted @ 2018-10-12 11:31 苍洱 阅读(4196) 评论(0) 推荐(0) 编辑
摘要:SHOW TABLE STATUS where name='tablename' 阅读全文
posted @ 2018-04-16 15:32 苍洱 阅读(300) 评论(0) 推荐(0) 编辑
摘要:1 升级时必须得存储过程 1 /**/ 2 drop procedure if exists pro_upgrade; 3 DELIMITER // 4 CREATE DEFINER=`root`@`%` PROCEDURE `pro_upgrade`( 5 exec_boolen int , 6 阅读全文
posted @ 2017-11-24 13:49 苍洱 阅读(1247) 评论(0) 推荐(0) 编辑
摘要:select fund_account,BrokerID, sum(case when RulesID>1000000 AND RulesID<2000000 then 1 else 0 end ), sum(case when RulesID>2000000 AND RulesID<3000000 阅读全文
posted @ 2017-11-13 16:23 苍洱 阅读(162) 评论(0) 推荐(0) 编辑
摘要:执行内容和上篇一样,只是换了工具。 执行成功,但是数据库对应中文没有内容。 sql脚本的编码是asci 执行的时候选择gbk 编码 阅读全文
posted @ 2017-09-07 14:31 苍洱 阅读(1431) 评论(0) 推荐(0) 编辑
摘要:执行脚本内容如下: 存储过程如下: 在mysql 命令行里面 执行sql 无法显示ver_desc内容 解决方法: 把sql脚本的编码改为utf-8编码,执行正常。 阅读全文
posted @ 2017-09-07 13:41 苍洱 阅读(1050) 评论(0) 推荐(0) 编辑
摘要:解决方法: 在原来的数据处理处加 conn MYSQL* ; (数据库连接,初始化之后连接) while ( (0 == mysql_next_result(conn)) ); 阅读全文
posted @ 2017-07-24 15:01 苍洱 阅读(826) 评论(0) 推荐(0) 编辑
摘要:使用REPLACE插入一条记录时,如果不重复,REPLACE就和INSERT的功能一样,如果有重复记录,REPLACE就使用新记录的值来替换原来的记录值。 使用REPLACE的最大好处就是可以将DELETE和INSERT合二为一,形成一个原子操作。这样就可以不必考虑在同时使用DELETE和INSER 阅读全文
posted @ 2017-07-21 17:47 苍洱 阅读(1520) 评论(0) 推荐(0) 编辑
摘要:解决方法一: 这个错误是在VC中使用MySQL数据库时出现在mysql_com.h文件中的 my_socket fd; 说明未my_socket未定义,这时只需要在引用mysql.h头文件之前引用#include <winsock2.h>就行了,有的上面说引用#include <window.h>是 阅读全文
posted @ 2017-07-12 16:42 苍洱 阅读(1594) 评论(0) 推荐(0) 编辑
摘要:DES_ENCRYPT() 加密字符串后内容为空 改变字符集latin1 可以保存和解密(DES_DECRYPT) 阅读全文
posted @ 2017-07-11 17:00 苍洱 阅读(1039) 评论(0) 推荐(0) 编辑
摘要:1 数据移动到历史表中,同时删除当天数据 test-move-record.bat 2 备份数据且把数据移动到历史表中 start_backup.bat 3 从历史表中恢复数据 和上面类似 test-recovery-record.bat 4 缺少从备份数据库中恢复功能 阅读全文
posted @ 2017-06-14 13:41 苍洱 阅读(1334) 评论(0) 推荐(0) 编辑
摘要:delimiter | drop trigger if exists default_insert_Pwd; create trigger default_insert_Pwd before insert on traceroleid for each row if (new.Pwd is null or new.Pwd='' or new.Pwd='123456' )... 阅读全文
posted @ 2017-06-13 17:00 苍洱 阅读(128) 评论(0) 推荐(0) 编辑
摘要:SELECT trd.* ,(CASE WHEN ta.AccountID IS null THEN '' ELSE ta.AccountID END ) FROM traceroleid trd LEFT JOIN traceaccountmap ta on (CASE trd.Role WHEN 1 then ta.InvestConsultantID when 2 THEN ta... 阅读全文
posted @ 2017-06-13 16:59 苍洱 阅读(123) 评论(0) 推荐(0) 编辑
摘要:DELIMITER | drop procedure if exists pro_select_roleinfo_p3; CREATE PROCEDURE pro_select_roleinfo_p3 ( croleid VARCHAR(50), noffset INT, nrows INT ) BEGIN DECLARE linrows BIGINT ; SET... 阅读全文
posted @ 2017-06-13 16:58 苍洱 阅读(250) 评论(0) 推荐(0) 编辑
摘要:drop procedure if exists p9; CREATE PROCEDURE p9 () BEGIN DECLARE a INT; DECLARE b INT; DECLARE c INT; SET a = 5; SET b = 5; SET c = IF(b>0,b,18446744073709551615); SELECT c; SELEC... 阅读全文
posted @ 2017-06-13 16:57 苍洱 阅读(132) 评论(0) 推荐(0) 编辑
摘要:DELIMITER | drop procedure if exists pro_update_role_pwd; CREATE PROCEDURE pro_update_role_pwd ( croleid VARCHAR(50), crolepwd VARCHAR(50) ) BEGIN #update traceroleid set Pwd =to_base64(C... 阅读全文
posted @ 2017-06-13 16:57 苍洱 阅读(124) 评论(0) 推荐(0) 编辑
摘要:UPDATE traceroleid_copy SET Pwd=to_base64(Pwd) SELECT from_base64(Pwd) FROM traceroleid_copy 阅读全文
posted @ 2017-06-13 16:56 苍洱 阅读(578) 评论(0) 推荐(0) 编辑
摘要:SELECT id,DECODE(name,'password') FROM test UPDATE test SET `name`=ENCODE(`name`,'password') 阅读全文
posted @ 2017-06-13 16:52 苍洱 阅读(137) 评论(0) 推荐(0) 编辑
摘要:# 1 创建存储过程 /* delimiter // create procedure test() begin update test SET name = date_format(now(),'%Y-%c-%d %h:%i:%s'); end; */ # 2 创建事件 调用存储过程 /* create event if not exists e_test on schedule ever... 阅读全文
posted @ 2017-06-13 16:50 苍洱 阅读(165) 评论(0) 推荐(0) 编辑