当前位置:Gxlcms > 数据库问题 > MySQL 普通注册插入优化。

MySQL 普通注册插入优化。

时间:2021-07-01 10:21:17 帮助过:15人阅读

普通做法是:

用户通过手机号注册。默认是根据这个手机号去用户表里查询,看有没有这个手机号,有那么就提示已注册。否则就执行注册插入数据库操作。这里其实正常注册流程是两次数据库操作的(查询,插入);

优化做法:

手机号设置为唯一索引。直接执行插入操作。这里利用了MySQL的报错机制;如果插入的手机号 跟数据库里的有重复,那么调用MySQL方法mysql_errno() 可以看到是是1062;1062 代表插入的手机号数据库里已经存在。插入失败。这样就可以知道。数据库里是否已经有这个用户了。只操作了一次插入操作;

 附 mysql_errno部分常用 错误代码解释

1005: 创建表失败 1006: 创建数据库失败 1007: 数据库已存在,创建数据库失败 1008: 数据库不存在,删除数据库失败 1009: 不能删除数据库文件导致删除数据库失败 1010: 不能删除数据目录导致删除数据库失败 1011: 删除数据库文件失败 1012: 不能读取系统表中的记录 1016: 无法打开文件 1020:记录已被其他用户修改 1021:硬盘剩余空间不足,请加大硬盘可用空间 1022:关键字重复,更改记录失败 1023:关闭时发生错误 1024:读文件错误 1025:更改名字时发生错误 1026:写文件错误 1032:记录不存在 1036:数据表是只读的,不能对它进行修改 1037:系统内存不足,请重启数据库或重启服务器 1038:用于排序的内存不足,请增大排序缓冲区 1040:已到达数据库的最大连接数,请加大数据库可用连接数 1041:系统内存不足 1042:无效的主机名 1043:无效连接 1044:当前用户没有访问数据库的权限 1045:不能连接数据库,用户名或密码错误 1040: 最大连接数 1048:字段不能为空 1049:数据库不存在 1050:数据表已存在 1051:数据表不存在 1054:字段不存在 1065:无效的SQL语句,SQL语句为空 1081:不能建立Socket连接 1114:数据表已满,不能容纳任何记录 1116:打开的数据表太多 1129:数据库出现异常,请重启数据库 1130:连接数据库失败,没有连接数据库的权限 1133:数据库用户不存在 1141:当前用户无权访问数据库 1142:当前用户无权访问数据表 1143:当前用户无权访问数据表中的字段 1146:数据表不存在 1147:未定义用户对数据表的访问权限 1149:SQL语句语法错误 1158:网络错误,出现读错误,请检查网络连接状况 1159:网络错误,读超时,请检查网络连接状况 1160:网络错误,出现写错误,请检查网络连接状况 1161:网络错误,写超时,请检查网络连接状况 1062:字段值重复,入库失败

MySQL 普通注册插入优化。

标签:机制   mysq   注册   nbsp   socket   sock   流程   删除数据库   解释   

人气教程排行