php 插入数据 不成功,thinkphp5连接oracle用insert插入数据失败 -凯发k8官方网
春华秋衣
oracle主键log_id 不能自动递增有两个办法:1、使用oracle的自动增长序列创建序列
create sequence s_t_think_log
increment by 1 //指定序列以1递增,如果没指定,默认值1会使用
start with 1 //由1开始计数
nomaxvalue //不设置最大值
minvalue 1 //设置最小值1
cache 20 //预分配缓存大小为20
order
// 获取下一个自增id
public function getnextseq(){
$sql = "select s_t_think_log.nextval id from sys.dual";
$result = $this->query($sql);
$nextid = $result[0]['id'];
return $nextid;
}
function writelog($uid,$username,$description,$status)
{
// 注意这里啦
// 注意这里啦
$data['log_id'] = $this->getnextseq();
$data['admin_id'] = $uid;
$data['admin_name'] = $username;
$data['description'] = $description;
$data['status'] = $status;
$data['ip'] = request()->ip();
$data['add_time'] = time();
$log = db::name('think_log')->insert($data);
}
第二种,就是楼上说的 触发器啦
create or replace trigger trg_tink_log
before insert on tink_log
for each row
declare
begin
:think_log.log_id:= s_t_think_log.nextval;
end trg_t1;
总结
以上是凯发k8官方网为你收集整理的php 插入数据 不成功,thinkphp5连接oracle用insert插入数据失败的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: php 订单取消,php – 当订单状
- 下一篇: php 升序 排序字符串,php aso