Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: SQL Server
Expertise: Beginner
Jul 17, 2000

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);
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date