mysql自增id获取失败
2016-03-22 20:13
447 查看
php 数据库pdo对象,如果是返回,如以下伪代码
function getData(){
return $data;
}
$data = getData();
$id = $data->lastInsertId();
此时会获取不到,因为mysql的lastInsertId是和连接相关的,我猜想是返回后,这个数据库连接已经不是操作数据时的连接了。
解决方法
1、在返回前赋值
function getData(){
$data->id =$data->lastInsertId();
return $data;
}
2、用uuid替代lastInsertId。如果遇到多线程的问题,有可能这个id是错误的。
function getData(){
$data->uuid = getUUID();
return $data;
}
function getData(){
return $data;
}
$data = getData();
$id = $data->lastInsertId();
此时会获取不到,因为mysql的lastInsertId是和连接相关的,我猜想是返回后,这个数据库连接已经不是操作数据时的连接了。
解决方法
1、在返回前赋值
function getData(){
$data->id =$data->lastInsertId();
return $data;
}
2、用uuid替代lastInsertId。如果遇到多线程的问题,有可能这个id是错误的。
function getData(){
$data->uuid = getUUID();
return $data;
}
相关文章推荐
- mysql的基本操作1
- MySQL--Merge存储引擎
- 项目进阶 之 集群环境搭建(三)多管理节点MySQL集群
- 三个流行MySQL分支的对比
- mysql中的基本语句总结
- MySQL 游标(PREPARE预处理语句)
- 为mysql数据库建立索引
- Mysql To Charts(一)--Express 应用生成器
- MySQL 性能优化的最佳20多条经验分享
- MysQl 优化
- mysql中alter语句中change和modify的区别
- mysql alter 语句用法,添加、修改、删除字段等
- MySQL复制表结构,表数据
- mysql中间件之kingshard
- mysql 用户管理和权限设置
- MySQL忘记密码怎么办
- MySQL备份之mysqlpump工具备份
- 解决MAC下安装MySQL查看端口为0的问题
- mysql查询(同一个表中相邻的两条记录进行运算)
- mysql优化