0

这些是我们必须使用 SQL 进行编码的要求,我们必须在表上进行检查。

我找不到有用的答案——

CREATE TABLE data
(
data_Name VARCHAR(10) UNIQUE,
data_totals INT,

CONSTRAINT [data_totals_test] CHECK (data_totals between 1 and 5 )
);

错误信息:

syntax error in constraint clause 

如果我这样做

CREATE TABLE data
(
data_Name VARCHAR(10) UNIQUE,
data_totals INT,

CHECK (data_totals between 1 and 5 )
);

或这个

CREATE TABLE data
(
data_Name VARCHAR(10) UNIQUE,
data_totals INT,

CHECK (data_totals > 1 and data_totals < 5 )
);

在这两种情况下我都会收到错误消息-

syntax error in field definition 

如果我取出 , 在 INT 之后,我会收到错误消息:

syntax error in Create Table Statement. 

也试过这个:

以这种方式创建表(成功)

CREATE TABLE data
(
data_Name VARCHAR(10) UNIQUE,
data_totals INT
);

尝试使用改变:

alter table data ADD CHECK (data_totals > 1 );

得到同样的错误:

syntax error in field definition 

请指教。

4

1 回答 1

2

试试这个 https://support.office.com/en-us/article/customize-design-settings-for-objects-in-your-database-b6e0baa0-15d4-47ae-84c2-e0c46dcea23b

设置为 ANSI 92 SQL

CREATE TABLE data
(
data_Name VARCHAR(10) UNIQUE,
data_totals INT CHECK (data_totals > 1 and data_totals < 5)
);

或者

CREATE TABLE data
(
data_Name VARCHAR(10) UNIQUE,
data_totals INT,
CONSTRAINT CHK_data_totals CHECK (data_totals>1 AND data_totals<5)
);
于 2018-04-06T18:05:58.873 回答