Почему я не могу указать ширину столбца в MS SQL?

Например:

CREATE TABLE Station
(StationCode    CHAR(10) NOT NULL,      
StationName CHAR(20)        NOT NULL,
Distance    int(5)      NOT NULL,
CONSTRAINT PKStation    PRIMARY KEY (StationCode)   )

Он вернул ошибку:

Сообщение 2716, уровень 16, состояние 1, строка 1
Столбец, параметр или переменная № 3: невозможно указать ширину столбца для типа данных int.

В моем университетском учебнике в примере можно указать ширину столбца для INTEGER TQVM, если кто-то может ответить


person Ralph    schedule 05.07.2014    source источник
comment
В вашем учебнике рассматривается Microsoft SQL Server или MySQL? Это два очень разных продукта с собственными диалектами SQL.   -  person DCoder    schedule 05.07.2014


Ответы (2)


вы не можете указать столбец width для типа данных int.

Int datatype не имеет length.

Попробуй это:

CREATE TABLE Station 
(
 StationCode CHAR(10) NOT NULL,      
 StationName CHAR(20)        NOT NULL,
 Distance    int NOT NULL,
 CONSTRAINT  PKStation PRIMARY KEY (StationCode)   
)
person Vignesh Kumar A    schedule 05.07.2014
comment
Тогда решение состоит в том, чтобы бросить и создать таблицу? проклятый MSSQL! - person EngineSense; 17.09.2018

Стандартный целочисленный тип данных SQL ANSI не допускает спецификации точности. Это 4-байтовое целое число со знаком, допускающее значения от -2147483648 до 2147483647. Продукты баз данных помимо SQL Server могут предоставлять проприетарные расширения, отличные от ANSI, которые позволяют указывать точность.

person Dan Guzman    schedule 05.07.2014