1, 指定了AUTO_INCREMENT的列必须要建索引,不然会报错,索引可以为主键索引,当然也可以为非主键索引。(不一定要做主键)2, 指定了auto_increment的列,在插入时:如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数递增。3,当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值。4,如果插入的值大于已编号的值,则会把该插入到数据列中,并使在下一个编号将从这个新值开始递增。5,对于MyISAM表,如果用UPDATE命令更新自增列,如果列值与已有的值重复,则会出错。如果
管理员 2019-07-26 MySQL 887
一般不要使用保留关键字。如果使用了保留关键字,将关键字前后加" ` " 可以解决问题。 MySQL允许部分关键字用做未引起来的识别符,因为许多人以前曾使用过它们。下面列出了一些例子: ACTION,BIT,DATE,ENUM,NO,TEXT,TIME,TIMESTAMP MySQL保留关键字如下: ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB
管理员 2019-07-17 MySQL 797
有一个表有十万条数据,SELECT COUNT(*) FROM t_tablename; 时间长达10秒以上。 解决办法,把 Primary Key 加上 Unique 约束了,速度变成30毫秒了,解决了。 不太清楚原因,先记着。 参考:https://blog.csdn.net/landstream/article/details/79673176
管理员 2019-05-17 MySQL 1162
INSERT INTO tp_article( name, user_id, category_id, thumbnail, content, description, create_time, tags ) SELECT title, FLOOR(2 + (RAND() * 10)), category, thumbnail, content, description, UNIX_TIMESTAMP(create_time) + ce
管理员 2018-10-26 MySQL 1021
1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases all.sql 2、导入所有库mysql 命令行mysql source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword --databases db1 db2 db1db2.sql 4、导入某些库mysql命令行mysql source db1db2.sql; 5、导入某个库系统命令行mysql -uusername -ppassword db1 db1.sql; 或mysql命令行mysql
管理员 2018-10-09 MySQL 768
索引的选择性是指索引列中不同值的数目和表的记录数的比值。假如表里面有1000条数据,表索引列有980个不同的值,这时候索引的选择性就是980/1000=0.98 。索引的选择性越接近1,这个索引的效率很高。 e.g. 性别可以认为是3种,男,女,其他。如果创建索引,查询语句 性别=‘男'的数据,索引的选择性就是3/1000=0.003。索引的选择性值很低,对查询提升不大,所以性别建索引意义不大
管理员 2018-09-24 MySQL 888
创建表 CREATE TABLE `kfinfo` (     `Name` varchar(100) DEFAULT NULL,     `CardNo` varchar(50) DEFAULT NULL,     `Descriot` varchar(150) DEFAULT NULL,     `CtfTp` varchar(50) DEFAULT NULL,     `CtfId` varchar(50) DEFAULT NULL,     `Gender` varchar(50) DEFAULT NULL,     `Birthday` varchar(50) DE
管理员 2018-09-24 MySQL 889
MYSQL导入数据出现The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 查看 secure-file-priv 当前的值是什么 show variables like '%secure%'; 那么我们就需要改配置文件my.ini secure-file-priv='' 重启MySQL
管理员 2018-09-24 MySQL 847
用单数形式更佳,理由如下: 1、概念直观。 你有一个袋子,里面有好多个苹果,你会说这是个苹果袋。但无论里面有0,1,百万个苹果,它依然是个袋子。表也是如此,表明需要描述清楚,表里面包含的对象,而非有多少个数据。 2、便利性 单数形式更简单。有一些单词,它的复数形式可能是非常规的,或者就没有复数形式,但是单数不一样,单数形式则没那么多讲究。有些单词的复数,可能会想到你头大,可能得好好google才出来 3、优雅 特别是一些master-detail形式的资源名称,统一用单数,读起来更方便,对齐更整齐,从顺序上更有逻辑性。 对比下 单数: Order OrderDeta
管理员 2018-09-15 MySQL 942
PM2 简介 pm2 是一个带有负载均衡功能的Node应用的进程管理器。 当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。 命令详解: 安装 npm install -g pm2 用法 $ npm install pm2 -g # 命令行安装 pm2 $ pm2 start app.js -i 4 #后台运行pm2,启动4个app.js # 也可以把'max' 参数传递给 start # 正确的进程数目依赖于Cpu的核心数目 $ pm2 start app.js --name my-api # 命名进程 $
管理员 2018-04-06 WordPress MySQL Node.js 2422
在MySQL数据库中,mysql-bin.000001、mysql- bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。这样做主要有以下两个目的:1:数据恢复如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。2:主从服务器之间同步数据主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。处理方法分两种情况:1:只有一个mysql服务器,那么可以简单的注释掉这个
管理员 2017-11-14 MySQL 779
执行命令:service mysql status 提示:ERROR! MySQL is running but PID file could not be found 搜索了一下,有人说可能是硬盘满了,清理下垃圾文件。 这才恍然明白,刚刚用vi查看日志文件提示那个错误的原因。 在根目录/下执行命令:df -h 输出如下: [root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on **/dev/mapper/VolGr
管理员 2017-07-05 MySQL 1526
1. 关掉mysql服务,打开系统设置最后的mysql,然后将mysql先关掉2. 生成一个文件命名mysql-init,文件中放入:一句话,这句话不同版本不一样,如下:(括号里面不包含)alter user ‘root’@‘localhost’ identified by ‘新密码’;(MySQL 5.7.6 and later)set password for ‘root’@‘localhost’=password(‘新密码’);(MySQL 5.7.5 and earlier)3. cd /usr/local/mysql/bin/sudo sumysqld_safe —init-file
管理员 2017-04-04 MySQL 901
1.删除所有的目录,只保留datasharebin2.删除BIN下面除以下三个文件之外的所有文件:libmysql.dll(MYSQL5中的文件,在MYSQL5.5中不存在)mysqladmin.exemysqld.exe3.如果要用客户端,请保留mysql.exe4.删除Share目录下除以下目录外的所有目录charsetsenglish5.删除Data目录下的除mysql之外的所有文件和目录1.准备工作下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d:\ mysql-noinstall-5.1.53-win32
管理员 2017-02-06 MySQL 859
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中列的别名本来是返
管理员 2016-09-26 MySQL 871
使用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”,然后会弹出对
管理员 2016-09-26 MySQL 814
Oren Eini(又名Ayende Rahien)建议开发者尽量避免数据库的软删除操作,读者可能因此认为硬删除是合理的选择。作为对Ayende文章的回应,Udi Dahan强烈建议完全避免数据删除。所谓软删除主张在表中增加一个IsDeleted列以保持数据完整。如果某一行设置了IsDeleted标志列,那么这一行就被认为是已删除的。Ayende觉得这种方法“简单、容易理解、容易实现、容易沟通”,但“往往是错的”。问题在于: 删除一行或一个实体几乎总不是简单的事件。它不仅影响模型中的数据,还会影响模型的外观。所以我们才要有外键去确保不会出现“订单行”没有对应的父“订单”的
管理员 2016-09-26 MySQL 834
这是因为删除操作后在数据文件中留下碎片所致。DELETE只是将数据标识位删除,并没有整理数据文件,当插入新数据后,会再次使用这些被置为删除标识的记录空间。另外实际操作过程中还发现这个问题还存在两种情况。(1)当DELETE后面跟条件的时候,则就会出现这个问题。如:delete from table_name where 条件删除数据后,数据表占用的空间大小不会变。(2)不跟条件直接delete的时候。如:delete from table_name清除了数据,同时数据表的空间也会变为0。这就存在了一个问题,在网站的实际运行过程中。经常会存在这样的附带条件删除数据的操作行为。天长日久,这不就在数
管理员 2016-09-19 MySQL 750
搜神记
766 文章
4 教程
8 项目
随机推荐
JavaScript 自定义属性 dataset
PHP curl 的用法
Node.js 控制台进度条实现原理
SQL 注入的生命力
Node.js 数据库模块 mysql2
Node.js test 模块
Node.js zlib 模块
Photoshop 使用插件支持 webp 格式的文件