Member 14893011 Ответов: 3

Как исправить присутствие этой таблицы на SQL server


CREATE TABLE [presence](
[id_presence] [int] IDENTITY (1, 1) NOT NULL ,
[tgl] [datetime] NULL ,
[nip] [char] (2) CONSTRAINT [fk_nips] FOREIGN KEY [nip]
REFERENCES [school] ([NIP] )


ошибка:
Msg 102, Level 15, State 1, Line 4 Incorrect syntax near 'nip'.

в чем проблема?

Что я уже пробовал:

Я пытался изменить все, что близко к nip, но все равно ошибка. пожалуйста, как это исправить?

Shao Voon Wong

nip-это столбец внешнего ключа, который ссылается на школьную таблицу. Школа имеет таблицы (столбец НПВ) создан на базе прежде чем запустить этот SQL-оператор?

3 Ответов

Рейтинг:
2

CHill60

Когда я пытаюсь Решение 1 Я получаю

Цитата:
Msg 102, Уровень 15, Состояние 1, Строка 29
Неправильный синтаксис рядом с "nip".
В указанной строке. Почему? Добавление этой запятой неверно и в конце запроса отсутствует закрывающая скобка
CREATE TABLE [presence](
[id_presence] [int] IDENTITY (1, 1) NOT NULL ,
[tgl] [datetime] NULL ,
[nip] [char] (2), --added a comma here
CONSTRAINT [fk_nips] FOREIGN KEY [nip] -- << -- Error is here
REFERENCES [school] ([NIP] )
Когда я пытаюсь Решение 2 Я также получаю ошибку
Цитата:
Msg 102, Уровень 15, Состояние 1, Строка 17
Неверный синтаксис рядом с ')'.
Почему?. Все еще не хватает закрывающей скобки
CREATE TABLE [presence](
[id_presence] [int] IDENTITY (1, 1) NOT NULL,
[tgl] [datetime] NULL,
[nip] [char] (2) CONSTRAINT [fk_nips] FOREIGN KEY ([nip])
REFERENCES [school] ([NIP]) -- << -- Error is here 
Вот правильное решение- Почему? Единственная разница между оригинальной версией и рабочей версией заключается в том, что закрывающая скобка. Разумное использование пробелов может помочь определить такие вещи, как это.
CREATE TABLE [presence]
(
	[id_presence] [int] IDENTITY (1, 1) NOT NULL ,
	[tgl] [datetime] NULL ,
	[nip] [char] (2) CONSTRAINT [fk_nips] 
	FOREIGN KEY ([nip]) REFERENCES [school] ([NIP])
);
Я действительно проверил свою версию, чего явно не было на предыдущих двух плакатах.


Maciej Los

5ed!

CHill60

Спасибо! Хотя в этой последней строчке я действительно звучу сердито :-)

Рейтинг:
0

Sandeep Mewara

Я думаю, что вы могли бы быть отсутствует запятая в конце концов [nip] [char] (2) в качестве определения столбца Table [presence]

Попробуй:

CREATE TABLE [presence](
[id_presence] [int] IDENTITY (1, 1) NOT NULL ,
[tgl] [datetime] NULL ,
[nip] [char] (2), --added a comma here
CONSTRAINT [fk_nips] FOREIGN KEY [nip]
REFERENCES [school] ([NIP] )


Maciej Los

5ed!

Рейтинг:
0

Swapnita Dessai

Пожалуйста, попробуйте поставить скобки поперек [nip] на линии ограничения.
Он предположил, что вы уже определили таблицу "школа" с NIP в качестве первичного ключа.

CREATE TABLE [presence](
[id_presence] [int] IDENTITY (1, 1) NOT NULL,
[tgl] [datetime] NULL,
[nip] [char] (2) CONSTRAINT [fk_nips] FOREIGN KEY ([nip])
REFERENCES [school] ([NIP])