devxlogo

Autonumbering in SQL

Autonumbering in SQL

Question:
I am having to reformat data for addition to a database.

My current struggle involves an identification field for certain records. In the new database it needs to be listed as an incrementing number with a “z” in front of it: for example, “z100.” Does Access allow an autonumber to have another variable in front of it? How do I do this?

If not, how can I add the “z” in an update query after changing records that I’ve autonumbered back to text?

Answer:
Autonumber columns are of datatype (long) integer so you cannot store a character in the column. You could convert the number to a string and add a “z” in your queries like this:SELECT “z”+Ltrim(Str([Test].[ID])) AS Expr1, Test.NameFROM Test;But this might not be your best option because you are adding data in your query that’s not found in the database. Adding another varchar column to the table to hold the “z” has a couple of benefits. First, all the data for each record is found in that record and not in stored procedures or components. Also, if you ever need to prefix records with “x” or “y”, you don’t have to modify any other code. Your queries will also be more efficient because you don’t have to convert the field and add the letter.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist