如何在php中从f-00001开始生成唯一的标签id

z9ju0rcb  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(352)

使用php和mysql在item表中插入date时,如何从f-00001开始生成唯一的tag\u id。
这是我的table。我使用mysql在数据库表中有三列。

CREATE TABLE item (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(30) NOT NULL,
tag_id VARCHAR(8) NOT NULL
)
xj3cbfub

xj3cbfub1#

正如@mickmackusa所指出的,你不需要在你的数据库中有这个字段,因为你可以从你的自动增量中自动生成它 id 价值观。有很多方法可以做到这一点。
使用生成的列(MySQL5.7或更高版本):

CREATE TABLE item (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(30) NOT NULL,
tag_id VARCHAR(8) AS CONCAT('F-', LPAD(id, 5, '0'))
)

使用视图:

CREATE VIEW item_view AS 
SELECT *, CONCAT('F-', LPAD(id, 5, '0')) AS tag_id FROM item

在php中使用 str_pad :

// assume $row is an associative array of row of table
$tag_id = 'F-' . str_pad($row['id'], 5, '0', STR_PAD_LEFT);

相关问题