作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当使用php和mysql将日期插入项目表时,如何生成从F-00001开始的唯一tag_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
)
最佳答案
正如 @mickmackusa 指出的,您不需要在数据库中包含此字段,因为您可以根据自动增量 id
值自动生成它。有多种方法可以做到这一点。
使用 generated column (MySQL 5.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'))
)
使用 view :
CREATE VIEW item_view AS
SELECT *, CONCAT('F-', LPAD(id, 5, '0')) AS tag_id FROM item
使用 str_pad
在 PHP 中生成:
// assume $row is an associative array of row of table
$tag_id = 'F-' . str_pad($row['id'], 5, '0', STR_PAD_LEFT);
关于php - 如何在php中生成从F-00001开始的唯一tag_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53128339/
我是一名优秀的程序员,十分优秀!