超级初学者 - Oracle SQL

时间:2015-06-24 03:15:42

标签: oracle

我开始学习SQL,我们的教授告诉我们用各自的索引和约束做6个表。

某些列的数据类型必须是大于1的正整数。如何指定?我已经创建了表但不小心把

CREATE TABLE Loan (
    LoanID number  NOT NULL CHECK (0>=1), 

我很害怕我弄乱了整件事。

很抱歉,如果答案太明显了。我不太了解sql。

3 个答案:

答案 0 :(得分:1)

将表列的约束设置为正整数的示例是

CREATE TABLE Loan 
( LoanID INT UNSIGNED NOT NULL 
)

UNSIGNED会将其设为无符号,因此只接受正整数

如果您需要设置为接受大于某个值的内容,则可以使用CHECK约束

CREATE TABLE Loan
(
   LoanID int unsigned NOT NULL CHECK (LoanID > 1)
)

但根据MYSQL文档

  

CHECK子句被解析但被所有存储引擎忽略。

答案 1 :(得分:0)

你得到的大多数是正确的:

CREATE TABLE Loan
(
   LoanID int NOT NULL CHECK (LoanID > 1)
)

答案 2 :(得分:0)

MySQL / Oracle / MS SQL Server

来源:http://www.w3schools.com/sql/sql_check.asp

CREATE TABLE Loan1 ( LoanID int NOT NULL, CONSTRAINT chk_Loan1 CHECK (LoanID>1) );
CREATE TABLE Loan2 ( LoanID int NOT NULL, CONSTRAINT chk_Loan2 CHECK (LoanID>1) );
...
Select * From Loan1;
Select * From Loan2;
... 

另见:SQL Data Types