devxlogo

Create a Table with Autonumbering

Create a Table with Autonumbering

Question:
I’ve tried to create a table (for my guestbook) with an auto increment column. Here’s my statement:

CREATE TABLE guestbook(id mediumint(8) NOT NULL KEY(PRI) default(0) auto_increment, name varchar(30) NOT NULL,email varchar(30) NOT NULL,comments text NOT NULL);

Why doesn’t it work?

Answer:
If you’re using SQL Server, you need to make minor changes to your create table statement in order to create the guestbook table:

  1. The id column should be specified as int with no size. There’s no medium int data type in SQL Server. The int data type allows values up to 2,147,483,647. You could use the smallint data type allowing values up to 32,767, but it’s worth the extra two bytes not to worry about outgrowing the column.
  2. You gain the auto_increment capability by using the IDENTITY attribute on a column. This attribute increments the column value each time a record is inserted. The syntax is:
    IDENTITY  

    You can provide a starting value and a value to increment by—the default is 1,1 if none are specified.

  3. The primary key constraint must be defined with the keywords “PRIMARY KEY.”

The modified statement looks like this:

CREATE TABLE guestbook(id int NOT NULL IDENTITY (1,1) PRIMARY KEY, name varchar(30) NOT NULL,email varchar(30) NOT NULL,comments text NOT NULL);

See also  5 Ways to Improve Customer Experience
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