当我在SQL中创建表时,如何设置属性不为空?

时间:2012-10-19 18:57:03

标签: sql null

我想在SQL中创建一个表,如果我想将属性设置为NULL,我该怎么做? 例如,我想创建一个名为Courses的表,其属性“CourseNo”和“Title”不能为空。我在下面创建了一个:

CREATE TABLE Courses(
    CourseNo INTEGER CHECK(100<=CourseNo<=999) PRIMARY KEY,
    Title VARCHAR(100),
    )

ALTER TABLE Courses
ALTER COLUMN CourseNo INTEGER NOT NULL
ALTER COLUMN Title VARCHAR(100) NOT NULL

这是对的吗?

2 个答案:

答案 0 :(得分:0)

Title VARCHAR(100)更改为Title VARCHAR(100) NOT NULL

答案 1 :(得分:0)

无论你写了什么,一个正确但好的做法是在定义表时写not null
这样做:

CREATE TABLE Courses(
    CourseNo INTEGER CHECK(100<=CourseNo<=999) PRIMARY KEY,
    Title VARCHAR(100) NOT NULL,
    )

主键始终是NOT NULL,因此您无需将其声明为NOT NULL

如果你想在稍后的表格的列定义中进行更改,则使用alter中的

NOT NULL