
mysql
文章平均质量分 74
莫冲
TO Be SIMPLE & STUDPID
展开
-
一个表中出现多个timestamp并设置其中一个为current_timestamp的问题
一个表中出现多个timestamp并设置其中一个为current_timestamp的时候经常会遇到#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause原因是当你给一个timestamp设原创 2017-03-28 14:15:41 · 2857 阅读 · 0 评论 -
无故出现 mysql dead but subsys locked的问题
问题描述:1.mysql安装完成后,使用service mysqld restart总是出现stop mysqld service 失败。2.使用mysql -uroot -p登录出现找不到 /var/lib/mysql/mysql.sock问题。3.使用service mysqld status出现 mysql dead but subsys locked解决方法:大...原创 2015-04-08 22:07:01 · 142 阅读 · 0 评论 -
MySQL Daemon failed to start.
这个问题怎么解决。mysql一直启动不了。。log也没报错。getenforce 返回disabled原创 2015-04-08 22:35:15 · 148 阅读 · 0 评论 -
查詢結果null排到最後面
mysql 的order by 查詢默認是會將null排到有值的數據前面的。若想將null放最後面。則需要加上個null的order 控制例如[code="java"] SELECT userid, `migrate_time` FROM memberWHERE STATUS =0AND id =3ORDER BY (update_time IS NULL), u...原创 2015-05-25 14:26:26 · 94 阅读 · 0 评论 -
mysql lock tables
要解决的一个应用是 执行一个业务逻辑时将表锁住,其他同时执行该业务逻辑的业务必须等当前占用locked 表资源的业务完成之后才能执行业务。因此要用lock tables来实现该功能。Thinkphp有个M()->lock(true)的功能,但是它其实不是锁表,它是在事务中在sql添加 for update。当然,用事务也能实现以上逻辑。参考http://www.thin...原创 2014-09-16 16:41:42 · 239 阅读 · 0 评论 -
删除表中的重复数据
参考:http://stackoverflow.com/questions/3311903/remove-duplicate-rows-in-mysqlhttp://database.51cto.com/art/201011/235159.htm添加多字段唯一索引,会自动删除重复数据,并不允许插入重复数据。查询多字段重复数据select * from plan_devi...原创 2014-09-19 14:34:27 · 75 阅读 · 0 评论 -
mysql 主从设置
参考:http://blog.miniasp.com/post/2012/07/04/How-to-setup-MySQL-55-One-way-replication-Master-Slave-mode.aspxhttp://fghjk.blog.51cto.com/4359709/830794http://dev.mysql.com/doc/refman/5.5/en/my...原创 2016-10-21 17:10:32 · 89 阅读 · 0 评论 -
mysql 批量insert的优化方式
http://www.cnblogs.com/aicro/p/3851434.html结论:切割成每次插入10条是性能比较好的方式原创 2016-10-21 18:06:37 · 259 阅读 · 0 评论 -
推送emoji表情乱码的解决方法
推送内容如果包含了emoji表情,需要做以下修改1 mysql 要用5.5.3以上版本(如果不能升级,请用base64保存,推送时再转码)2 将表和推送内容表字段修改成utf8mb4_unicode_ci编码格式(不需要改系统的my.cnf,也不需要重启mysql)如果用了apnsphp来推送,可能依然会出现发送emoji表情变成?的问题:请找到Message.php的getP...原创 2016-11-04 17:44:11 · 966 阅读 · 0 评论 -
mysql多表left join 1对多的解决办法
一个表left join多个表并导出csv本身是很简单的事。但是主表的一列有多个值,一开始用逗号分隔保存数据,这样做的好处是方便应用程序处理,但是对于mysql来说这是anti-pattern的做法。果然,在写left join的时候无法实现一个field保存多ID,并跟关联表匹配输出csv文件。(尝试了find_in_set 只能输入一行)还是应该遵守RMDB的范式来设计DB,将多值的列...原创 2016-12-13 09:52:23 · 5334 阅读 · 0 评论 -
mysql中繁体特殊字符的编码设置
有些繁体的特殊字在utf8中是无法显示的。例如"?實"。这个字在输入法中都无法打出来的。类似于白话的口语。为了支持这些字,数据库需要用比utf8支持更多字的utfmb4的charset。而只有5.3以上版本的mysql才支持。为了支持这种charset,必须在连接db后重新set下charset。注意,表用utf8mb4的charset同样支持charset是utf8的field。刚才...原创 2014-12-01 12:01:47 · 733 阅读 · 0 评论 -
php从mysql读取超过200W行的表
需要从一个大表,如user表中读取所有user数据再做整理并導出csv。如果使用框架會報內存不足,因為很多php框架會將數據庫數據放入臨時變量。PHP Fatal error: Allowed memory size of xxxxxx bytes .....解决办法:1 可以用mysql_unbuffered_query 这个api不使用客户端缓存,这样就不存在php内存分...原创 2017-01-04 10:09:33 · 169 阅读 · 0 评论 -
mysql使用存储过程插入大量测试数据
随机字符串delimiter //CREATE DEFINER=`root`@`%` FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET utf8mb4 DETERMINISTICBEGIN DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrst...原创 2019-01-25 10:40:29 · 919 阅读 · 0 评论 -
MySQL-SQL语句中SELECT语句的执行顺序
SELECT语句的执行顺序大家比较少关注,下面将为您详细介绍SQL语句中SELECT语句的执行顺序,供您参考,希望对您能够有所帮助。SELECT语句的执行的逻辑查询处理步骤:(8)SELECT (9)DISTINCT(11) (1)FROM (3) JOIN (2) ON (4)WHERE (5)GROUP BY (6)WITH {CUBE | RO...原创 2015-01-26 14:04:23 · 116 阅读 · 0 评论 -
溢出的int类型
昨晚在调试代码的时候,在保存电话号码时,所有号码保存都是2147483647。即使在数据库通过sql语句输入也是如此。调试了半天都找不到原因。后来发现int类型是有最大值的。2147483647就是无符号的最大值。还有一种是有符号的:4294967295。所以即使将int的长度设置为20也是没用的。最大只能保存到2147483647。最后,将int改成bigint,char或var...原创 2013-01-28 17:36:23 · 321 阅读 · 0 评论 -
sql distinct某个字段
distinct必须放在第一个位置。若放到后面是会报错的。若要指定某个字段的distinct,需要以该字段group by 再加上一个count(distinct name);参考来源在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录...原创 2012-09-21 10:32:38 · 599 阅读 · 0 评论 -
mysql lock tables
要解决的一个应用是 执行一个业务逻辑时将表锁住,其他同时执行该业务逻辑的业务必须等当前占用locked 表资源的业务完成之后才能执行业务。因此要用lock tables来实现该功能。Thinkphp有个M()->lock(true)的功能,但是它其实不是锁表,它是在事务中在sql添加 for update。当然,用事务也能实现以上逻辑。参考http://www.thinkphp.cn原创 2017-03-28 14:27:37 · 501 阅读 · 0 评论 -
删除表中的重复数据
参考:http://stackoverflow.com/questions/3311903/remove-duplicate-rows-in-mysqlhttp://database.51cto.com/art/201011/235159.htm添加多字段唯一索引,会自动删除重复数据,并不允许插入重复数据。查询多字段重复数据select * from plan_device a原创 2017-03-28 14:27:56 · 268 阅读 · 0 评论 -
mysql FEDERATED存儲引擎的使用
這個存儲引擎相當於DB lINK,可以像訪問本地表一樣訪問遠程DB的表。而且可以直接看到表數據。表結構的文件放在本地DB,表存儲內容文件放在遠程,相當於調用遠程的表數據文件。操作步驟:1 window 修改my.ini文件。在最底下的[mysqld]port=3306federated 添加federated,支持federated類型的數據引擎。默認是不開啓的。重啓apach原创 2017-03-28 14:28:14 · 257 阅读 · 0 评论 -
查詢結果null排到最後面
mysql 的order by 查詢默認是會將null排到有值的數據前面的。若想將null放最後面。則需要加上個null的order 控制例如 SELECT userid, `migrate_time` FROM memberWHERE STATUS =0AND id =3ORDER BY (update_time IS NULL), update_time ASC原创 2017-03-28 14:33:34 · 274 阅读 · 0 评论 -
在ubuntu 下安装sphinx
在ubuntu 下安装sphinxhttps://www.digitalocean.com/community/tutorials/how-to-install-and-configure-sphinx-on-ubuntu-14-04安装包下的doc不准确。这篇文章写的很好。为保持索引及时更新,在crontab中加入,每小时执行一次索引更新@hourly /usr/bin/indexe原创 2017-03-28 14:39:18 · 2375 阅读 · 0 评论 -
mysql 主从设置
参考:http://blog.miniasp.com/post/2012/07/04/How-to-setup-MySQL-55-One-way-replication-Master-Slave-mode.aspxhttp://fghjk.blog.51cto.com/4359709/830794http://dev.mysql.com/doc/refman/5.5/en/mysqldu原创 2017-03-28 14:40:18 · 521 阅读 · 0 评论 -
mysql 批量insert的优化方式
http://www.cnblogs.com/aicro/p/3851434.html结论:切割成每次插入10条是性能比较好的方式原创 2017-03-28 14:40:25 · 424 阅读 · 0 评论 -
推送emoji表情乱码的解决方法
推送内容如果包含了emoji表情,需要做以下修改1 mysql 要用5.5.3以上版本(如果不能升级,请用base64保存,推送时再转码)2 将表和推送内容表字段修改成utf8mb4_unicode_ci编码格式(不需要改系统的my.cnf,也不需要重启mysql)如果用了apnsphp来推送,可能依然会出现发送emoji表情变成?的问题:请找到Message.php的getPayloa原创 2017-03-28 14:40:51 · 10805 阅读 · 0 评论 -
mysql多表left join 1对多的解决办法
一个表left join多个表并导出csv本身是很简单的事。但是主表的一列有多个值,一开始用逗号分隔保存数据,这样做的好处是方便应用程序处理,但是对于mysql来说这是anti-pattern的做法。果然,在写left join的时候无法实现一个field保存多ID,并跟关联表匹配输出csv文件。(尝试了find_in_set 只能输入一行)还是应该遵守RMDB的范式来设计DB,将多值的列,拆原创 2017-03-28 14:41:48 · 19666 阅读 · 0 评论 -
php从mysql读取超过200W行的表
需要从一个大表,如user表中读取所有user数据再做整理并導出csv。如果使用框架會報內存不足,因為很多php框架會將數據庫數據放入臨時變量。PHP Fatal error: Allowed memory size of xxxxxx bytes .....解决办法:1 可以用mysql_unbuffered_query 这个api不使用客户端缓存,这样就不存在php内存分配的问题。原创 2017-03-28 14:42:24 · 652 阅读 · 0 评论 -
MySQL 1054错误 Unknown column .... in 'on clause'
提示: ERROR 1054 (42S22): Unknown column ... in 'on clause' 原因: MySQL5.0 Bug, 要把联合的表用括号包含起来才行: 例: Sql代码 SELECT (c.id, a.id, b.id) FROM A a, B b LEFT JOIN C c ON c.a_id = a.a_id AN...原创 2013-06-17 14:16:21 · 2231 阅读 · 0 评论 -
一个表中出现多个timestamp并设置其中一个为current_timestamp的问题
一个表中出现多个timestamp并设置其中一个为current_timestamp的时候经常会遇到#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause原因是当你给一个time...原创 2012-12-25 16:40:09 · 875 阅读 · 0 评论