Почему я не могу использовать полевого пользователя в SQL Server 8? - PullRequest
1 голос
/ 18 мая 2010

Возможно не буквально, но запрос ниже получает ошибку рядом с пользователем. Если я изменю это на userZ, это работает. ПОЧЕМУ я не могу использовать это имя? Есть ли способ указать свое поле вместо ключевого слова? (или что бы то ни было)

create table Post2 (
id INTEGER PRIMARY KEY NOT NULL,
title nvarchar(max)
 NOT NULL,
body nvarchar(max)
 NOT NULL,
user integer REFERENCES Post1(id));

Ответы [ 2 ]

3 голосов
/ 18 мая 2010

Зарезервированные слова, такие как user, должны быть заключены в квадратные скобки.
Взгляните на Использование идентификаторов для более подробного объяснения.

CREATE TABLE Post2 (
  id INTEGER PRIMARY KEY NOT NULL
  , title NVARCHAR(MAX)NOT NULL
  , body NVARCHAR(MAX) NOT NULL
  , [User] INTEGER REFERENCES Post1(id)
);
2 голосов
/ 18 мая 2010

USER - зарезервированное слово.

Попробуйте разделить его с помощью "" (например, "пользователь" или [пользователь])

Подробнее об использовании идентификаторов с разделителями можно прочитать здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...