谁能告诉我们如何在 varchar 数据类型中使用自动增量?
我正在寻找其他问题,人们总是要求使用Interger或使用触发器。 但是,这是我大学的项目,它有一个规则让我们使用Varchar。
根据数据库中存在的最后一个产品 ID 自动生成前任。如果最新的产品 ID 为"PR004",则新 ID 将为"PR005">
所以,我们必须在PHP中设置自动增量?有人可以告诉我如何使用它吗?
谢谢
MYSQL 5.7.5:
您可以使用生成的列和这个来实现目标。
未测试
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