php - 创建唯一标识

标签 php mysql codeigniter

我正在使用函数使用表中的最后一个 ID 创建唯一 ID。但是问题来了 人大约在同一时间打开。您能否建议对当前功能进行任何纠正?由于此功能用于生产和实时服务器,因此对代码进行一些调整会好得多。

这里是函数使用:

function approvalNumber()
    {
        $data=array();
        $text = "APN/";
        $position = "front";
        $this->db->order_by('approval_id','desc');
        $this->db->limit('1','0');
        $query=$this->db->get('approval_note');
        if($query->num_rows()>0)
        {
            foreach($query->result_array() as $row){
                $data[] = $row;                 
            }
        }
        $query->free_result();
        if(count($data))
        $id=str_pad((int) $data['0']['approval_id']+1,4,"0",STR_PAD_LEFT);
        else
        $id='0001';
        return $approvalNo = $text.$id; 
    }

这将生成:APN/0371

最佳答案

在 ID 列上使用 MySQL 的 AUTO_INCREMENT 功能。它将使每个 now 行都具有一个递增的唯一 ID。

Read more.

关于php - 创建唯一标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9407630/

相关文章:

php - zend 从 url 保存图像

PHP/MySQL 资源使用

php - 在 codeigniter 的 session 数组中回显/打印变量

php - 调用 codeigniter 中数组的成员函数 result()

php - 如何不从 SQL 中的相邻表中选择另一个表中列出的 id?

php - 下面给出的 insert.php 有问题吗?

低于 5.6 版的 PHP cafile

mysql - 无法使用 MySql 空密码启动 Hive 元存储

mysql - 如何在 Ballerina 中使用 `Like` 运算符执行 SQL 语句

php - 如何通过引用 Blade 模板中的@include 来传递变量?