使用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 )
xj3cbfub1#
正如@mickmackusa所指出的,你不需要在你的数据库中有这个字段,因为你可以从你的自动增量中自动生成它 id 价值观。有很多方法可以做到这一点。使用生成的列(MySQL5.7或更高版本):
id
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 :
str_pad
// assume $row is an associative array of row of table $tag_id = 'F-' . str_pad($row['id'], 5, '0', STR_PAD_LEFT);
1条答案
按热度按时间xj3cbfub1#
正如@mickmackusa所指出的,你不需要在你的数据库中有这个字段,因为你可以从你的自动增量中自动生成它
id
价值观。有很多方法可以做到这一点。使用生成的列(MySQL5.7或更高版本):
使用视图:
在php中使用
str_pad
: