2014-11-12 3 views
-4

Я не могу создать таблицу на SQL Server. Поле ошибки всегда говорит, что рядом с моим именем таблицы что-то не так.SQL Server 2012 Невозможно создать таблицу

Может ли кто-нибудь взглянуть на мой синтаксис из первой таблицы?

create table course 
(c_id int not null AUTO_INCREMENT, 
r_id int not null AUTO_INCREMENT, 
start date,  
end date, 
name varchar(20), 
leader int, 
constraint pk_cousrse primary key (k_id, r_id, leader) 

); 
insert into course (start, end, name, leader) 
values (26.03.2012, 23.05.2013, , morrison); 
+0

Давайте пройти мимо того факта, что вы хотите 2 тождественные колонки на вашем столе, ваш вкладыш также не имеет смысла , Во-первых, у вас есть столбец 'leader', что это' INT', но вы хотите вставить в него 'morrison'. Вы также не принимаете во внимание, что вам нужно использовать одинарные кавычки для строк (и что вам также нужно приложить свои даты в одинарных кавычках) – Lamak

ответ

2

Да, неправильная часть AUTO_INCREMENT. в SQL Server нет AUTO_INCREMENT. Он должен быть IDENTITY.

Опять же, вы пытаетесь создать в своем столе два поля IDENTITY. это не допускается. У вас может быть только одно поле IDENTITY.

start и end являются запасным словом. Вы должны избавиться от них с помощью [] (квадратные скобки)

Вы CREATE заявление должно выглядеть

create table course (c_id int not null IDENTITY, r_id int not null , 
[start] date, 
[end] date, 
name varchar(20), 
leader int, 
constraint pk_cousrse primary key (c_id, r_id, leader) 
) 
+0

Эй, большое спасибо, теперь я могу создать свой первый стол! :) Хотя моя вставка в команду все еще не работает. Кажется, что что-то не так с датами: вставить в курс ([начало], [конец], имя, лидер) значения (26.03.2012, 23.05.2013, 'c', 'morrison'); –

+0

@FelixBeer, вам нужно указать дату, как «вставить в курс ([старт], [конец], имя, лидер) значения ('26 .03.2012 ', '23 .05.2013', 'c', 'morrison') ; ' – Rahul

Смежные вопросы