当我发现这个问题时,我无法在互联网上发现同样的问题,特别是在本网站上。
我真的知道,整数数据类型与char数据类型完全不同。 当我对id使用整数时,这个id可以从表格下面的设置自动增加 - > Link for description。另一方面,当我使用char数据类型时,它无法做到。 - > link for description
除了增量问题(我必须使用此字符的原因)之外,数据必须包含2个字符和3个数字(例如:LA002),但必须自动生成id并逐渐增加数字示例LA001, LA002,LA ......,LAnnn。
代码的任何答案或我如何自动设置它们可以帮助我解决这个问题。谢谢你的帮助。
答案 0 :(得分:0)
您可以使用自定义主键与自动增量标识列结合使用:
CREATE TABLE AutoIncrementCustomIDTable
(
MyKey AS ('LA' + LEFT('000', 3 - LEN(AutoIncId)) + CONVERT(varchar(3), AutoIncId)) PERSISTED NOT NULL PRIMARY KEY,
AutoIncId INT IDENTITY NOT NULL,
Col1 VARCHAR(10)
);
INSERT INTO AutoIncrementCustomIDTable (Col1) VALUES ('111')
INSERT INTO AutoIncrementCustomIDTable (Col1) VALUES ('222')
INSERT INTO AutoIncrementCustomIDTable (Col1) VALUES ('333')
SELECT * FROM AutoIncrementCustomIDTable
答案 1 :(得分:0)
您可以使用两列 一列包含默认的“LA”前缀,第二列包含自动增量ID,两者都为主键分组。
创建表( id INT NOT NULL AUTO_INCREMENT, 前缀CHAR(30)NOT NULL DEFAULT'LA', PRIMARY KEY(id,prefix))