有人能告诉我们如何在varchar数据类型中使用自动增量吗?
我寻找其他问题,人们总是要求使用interger或使用触发器。但是这是我学院的项目,它规定我们使用varchar。
根据数据库中现有的最后一个产品ID自动生成 防爆。如果最新的产品ID为“PR004”,则新ID将为“PR005”
所以,我们必须在php中设置自动增量吗?有人可以告诉我如何使用它吗?
谢谢
答案 0 :(得分:0)
MYSQL 5.7.5:
您可以使用Generated Columns和this完成目标。
未经过测试
CREATE TABLE TEST (
ProdID VARCHAR(20) AS CONCAT('PR','',PID) STORED,
PID INT auto_increment)
为方便起见,
<强> MSSQL:强>
最简单的方法是简单地创建一个计算列。它使用所谓的“计算”列和IDENTITY列。
CREATE TABLE Test
(
ProdID AS CAST('PR'+RIGHT('000'+CAST(RowNum AS VARCHAR(3)),3) AS VARCHAR(30)) PERSISTED
,ProdName VARCHAR(30)
,RowNum INT IDENTITY(1,1)
);
INSERT INTO Test (ProdName)
SELECT 'Thread' UNION ALL
SELECT 'Button Thread' UNION ALL
SELECT 'Coat Thread';
SELECT ProdID, ProdName FROM Test;
返回以下内容(注意自动增量有效):
ProdID ProdName
------------------------------ ------------------------------
PR001 Thread
PR002 Button Thread
PR003 Coat Thread