我開始學習SQL,我們的教授告訴我們要做6個表,分別列出各自的索引和約束條件。超級初學者 - Oracle SQL
某些列的數據類型必須是大於1的正整數。如何指定此值?我已經創建了表,但不小心把
CREATE TABLE Loan (
LoanID number NOT NULL CHECK (0>=1),
我很害怕我搞砸了整個事情。
對不起,如果答案太明顯。我不太瞭解sql。
我開始學習SQL,我們的教授告訴我們要做6個表,分別列出各自的索引和約束條件。超級初學者 - Oracle SQL
某些列的數據類型必須是大於1的正整數。如何指定此值?我已經創建了表,但不小心把
CREATE TABLE Loan (
LoanID number NOT NULL CHECK (0>=1),
我很害怕我搞砸了整個事情。
對不起,如果答案太明顯。我不太瞭解sql。
你得到它基本上是正確的:
CREATE TABLE Loan
(
LoanID int NOT NULL CHECK (LoanID > 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」的部分?聽起來像一個約束 –
@ZoffDino我對它應該是> 1我沒有檢查..感謝 – Sachu
的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;
...
不要害怕。關於軟件的好處是我們擁有UNDO和REDO的權力。嘗試某些東西沒有任何處罰。 – APC