SELECT user_id, group_id, COUNT(status) - SUM(status) AS contract FROM tp_contract GROUP BY user_id HAVING group_id = 18 AND COUNT(status) - SUM(status) 0 LIMIT 0,10select name as name1 from table1 where name1='aaa';上面的运行有问题, 字段别名不能直接在谓词部分引用,表别名可以。有人解释为MySql中列的别名本来是返
admin 2016-09-26 MySQL 842
使用workbench,如果你要批量更新或删除数据,一般会报“Error Code: 1175 You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column”错误,这是Workbench的安全设置导致的,通过设置就可以处理。快速设置,直接在workbench里面的查询窗口输入“SET SQL_SAFE_UPDATES = 0;”就可以了。如果你想要图形界面设置,请继续。在workbench的菜单栏点击“edit-- Preferences”,然后会弹出对
admin 2016-09-26 MySQL 749
Oren Eini(又名Ayende Rahien)建议开发者尽量避免数据库的软删除操作,读者可能因此认为硬删除是合理的选择。作为对Ayende文章的回应,Udi Dahan强烈建议完全避免数据删除。所谓软删除主张在表中增加一个IsDeleted列以保持数据完整。如果某一行设置了IsDeleted标志列,那么这一行就被认为是已删除的。Ayende觉得这种方法“简单、容易理解、容易实现、容易沟通”,但“往往是错的”。问题在于: 删除一行或一个实体几乎总不是简单的事件。它不仅影响模型中的数据,还会影响模型的外观。所以我们才要有外键去确保不会出现“订单行”没有对应的父“订单”的
admin 2016-09-26 MySQL 810
这是因为删除操作后在数据文件中留下碎片所致。DELETE只是将数据标识位删除,并没有整理数据文件,当插入新数据后,会再次使用这些被置为删除标识的记录空间。另外实际操作过程中还发现这个问题还存在两种情况。(1)当DELETE后面跟条件的时候,则就会出现这个问题。如:delete from table_name where 条件删除数据后,数据表占用的空间大小不会变。(2)不跟条件直接delete的时候。如:delete from table_name清除了数据,同时数据表的空间也会变为0。这就存在了一个问题,在网站的实际运行过程中。经常会存在这样的附带条件删除数据的操作行为。天长日久,这不就在数
admin 2016-09-19 MySQL 718
定义和用法DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。语法DATE_FORMAT(date,format)date 参数是合法的日期。format 规定日期/时间的输出格式。可以使用的格式有:格式 描述%a缩写星期名 %b缩写月名 %c月,数值 %D带有英文前缀的月中的天 %d月的天,数值(00-31) %e月的天,数值(0-31) %f微秒 %H小时 (00-23) %h小时 (01-12) %I小时 (01-12) %i分钟,数值(00-59) %j年的天 (001-366) %k小时 (0-23) %l小时 (1-12) %M月名 %
admin 2016-08-21 MySQL 710
date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串 后面的 '%Y%m%d' 主要是将返回值格式化 例如: mysql SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' ) - 20071120 mysql SELECT FROM_UNIXTIME( 1249488000, '%Y年%m月%d' ) - 2007年11月20 UNIX_TIMESTAMP()是与之相对正好相反的时间函数 UNIX_TIMESTAMP(), UNIX_TIMESTA
admin 2016-08-21 MySQL 812
合并两个数据表,而被合并的表的列必须完全相同,也就是:列的数量一致,列的名字一致,列的顺序一致,列的类型一致。 两者的区别: union合并表之后,重复的行数据会被化作一条数据,而后者union all将所有数据行都显示,重复的时候依然保持重复。 union使用方法: SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 union all使用方法: SELECT column_name(s) FROM table_name
admin 2016-08-21 MySQL 742
在安装一个php程序,执行mysql数据库sql文件时,一直报错,出现“1366 - Incorrect integer value: '' for column 'ID' at row 1 ”。出现错误的原因是没有给自增ID赋值,尽管之前的版本可以不赋值,自动增加,但是在新版本的msyql(mysql 5.X以上版本)中需要为其赋值NULL。下面这个sql插入就会出现“1366 - Incorrect integer value: '' for column 'ID' at row 1”INSERT INTO `test` (
admin 2016-08-07 MySQL 769
使用批处理命令即可实现备份,跟windows系统的任务计划搭配使用,可以做到定时自动备份。地中,方法2可以不关闭数据库备份。1、复制date文件夹备份============================假想环境:MySQL 安装位置:C:\MySQL论坛数据库名称为:bbs数据库备份目的地:C:\db_bak\============================新建db_bak.bat,写入以下代码*******************************Code Start***************************** net stop mysql
admin 2016-07-11 MySQL 744
错误日志:160328 11:23:28 InnoDB: Initializing buffer pool, size = 45.0M160328 11:23:28 InnoDB: Completed initialization of buffer pool160328 11:23:28 InnoDB: Operating system error number 87 in a file operation.InnoDB: Some operating system error numbers are described atInnoDB: http://dev.mysql.c
admin 2016-03-28 MySQL 697
MySQL报无法启动mysql服务 错误1067:进程意外中止,机器关机的时候没有正常关闭数据库,结果导致mysql日志文件损坏,重启之后无法正常恢复。在mysql的配置文件my.ini中添加 :innodb_force_recovery = 1 而关 于innodb_force_recovery参数,有6个参数 1. (SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。2. (SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。3. (SRV_FORCE_NO_TRX_UNDO):不执
admin 2016-03-19 MySQL 774
MySQL用户账号和信息存储在名为mysql的MySQL数据库中。一般不需要直接访问mysql数据库和表,但有时需要直接访问。需要直接访问它的时机之一是在需要获得所有用户账号列表时。为此,可使用以下代码:use mysql; select user from user; 创建用户账户CREATE USER ben IDENTIFIED BY 'p@$$w0rd'; 指定散列口令 IDENTIFIED BY指定的口令为纯文本,MySQL 将在保存到user表之前对其进行加密。为了作为散列值指定口令,使用IDENTIFIED BY PASSWORD。重新命名一个用户账号RENAME USER
admin 2015-12-27 MySQL 787
下面看看从网上搜集来的几种添加Mysql用户远程访问权限的方法MySQL上的一个数据库要备份,装了个MySQL的gui工具。打开"MySQL Administrator"工具,填好用户名和密码却登录不了,总是报这个错“ERROR 1130: Host 'lijuan-' is not allowed to connect to this MySQL server”。网上查了下,有这两个方法解决:修改远程访问权限1,改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的
admin 2015-08-26 MySQL 707
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。MySQL中的UNIONUNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:select * from gc_dfys union select * from ls_jg_dfys这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。 MySQL中的UNION A
admin 2015-06-09 MySQL 689
随机推荐
WordPress 文章置顶循环
Debian11 安装笔记2:编译安装PHP
WordPress 修改 RESTful API 的请求和响应
JavaScript 和 CSS 检测横屏适配
uni-app 实现暗黑模式/夜间模式/深色模式/暗黑主题(DarkMode)的几种方法
MySQL 删除逗号分隔字段中的某一个值
WordPress 设置菜单
冒泡法排序