user1788542
user1788542

Reputation:

Execute query in SQL Server Management Studio

This very simple query I am trying to execute in SQL Server Management Studio. But it gives error:

CREATE TABLE `contact` (
  `contact_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(45) NOT NULL,
  `email` varchar(45) NOT NULL,
  `address` varchar(45) NOT NULL,
  `telephone` varchar(45) NOT NULL,
  PRIMARY KEY (`contact_id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8

Error is:

Msg 102, Level 15, State 1, Line 3
Incorrect syntax near '`'.

I also tried by replacing with'` but still no help

Upvotes: 0

Views: 457

Answers (3)

Gary Walker
Gary Walker

Reputation: 9134

in tsql

CREATE TABLE contact (
  contact_id int identity(0,25) NOT NULL,
  name nvarchar(45) NOT NULL,
  email nvarchar(45) NOT NULL,
  address nvarchar(45) NOT NULL,
  telephone nvarchar(45) NOT NULL

  CONSTRAINT contact_PK PRIMARY KEY (contact_id)
)

You can't specify engine.

identity(0,25) means initial value = 0, increment = 25

You don't specify character set for the table, you can declare individual columns as varchar or nvcarchar -- the n stands for unicode. You can also specify a collation sequence for each column.

If you want a column name that is irregular (keyword, embedded space, etc.) you quote the column name as [column name] -- don't use irregular column names if you have a choice, it just makes things a pain to use.

Upvotes: 1

Joel Coehoorn
Joel Coehoorn

Reputation: 415630

The backtick (`) character is only used for MySql. It's not standard. Sql Server is a completely different animal. You need to use square-brackets ([ and ] -- also not standard) to enclose table and column names with Sql Server. Sql Server also supports double quotes ("), which are part of the SQL Standard, but for some reason less-common.

While I'm at it, the ENGINE and AUTO_INCREMENT, and CHARSET clauses are also MySql-specific.

Try this:

CREATE TABLE contact (
  contact_id int IDENTITY(25,1) NOT NULL PRIMARY KEY,
  [name] varchar(45) NOT NULL,
  email varchar(45) NOT NULL,
  "address" varchar(45) NOT NULL,
  telephone varchar(45) NOT NULL
)

Upvotes: 4

Krupa Patel
Krupa Patel

Reputation: 3359

Try like this:

CREATE TABLE contact (
  contact_id[int] IDENTITY(1,1) NOT NULL,
  name varchar(45) NOT NULL,
  email varchar(45) NOT NULL,
  address varchar(45) NOT NULL,
  telephone varchar(45) NOT NULL,
  PRIMARY KEY (contact_id)
) 

Hope this may help you.

Upvotes: 0

Related Questions