測試約束我有以下限制:如何在Oracle
ALTER TABLE Movie
ADD CONSTRAINT NomsRANGE
CHECK (totalNoms BETWEEN 0 AND 20);
...並使用了以下嘗試和測試:
INSERT INTO Movie
(totalNoms)
VALUES
('23');
我得到以下錯誤:
cannot insert NULL into ("ALI"."MOVIE"."MOVIEID")
我的方案是:
Actor (actorID, lastName, firstName, middleName, suffix, gender, birthDate, deathDate)
Movie (movieID, title, year, company, totalNoms, awardsWon, DVDPrice, discountPrice)
Quote (quoteID, quote)
Role (roleID ,roleName ,gender ,actorID* ,movieID*)
RoleQuote (roleID*, quoteID*)
我的關係是:
CONSTRAINT_NAME C
------------------------------ -
QUOTE_FK R
ROLE_FK R
MOVIE_ROLE_FK R
ACTOR_ROLE_FK R
ACTORID P
MOVIEID P
QUOTEID P
ROLEID P
ROLEQUOTEID P
9 rows selected.
Answer:
的回答是,你沒有簡單看準了這一點,我花了一整天,但我解決它,我張貼解決方案,因此它可以幫助別人。
INSERT INTO Movie(movieID,totalNoms) VALUES('049','22');
我錯過這是因爲錯誤的主鍵是說的第一個值: cannot insert NULL into ("ALI"."MOVIE"."MOVIEID")
當我進入了一個新的主鍵它顯示的限制被侵犯
謝謝你們所有幫助
問題是..? 'Movieid'初始化爲'not null'的權利? – Ben 2012-02-26 21:37:14
是的,這是正確的 – user1137472 2012-02-26 21:48:01
@ user1137472 - 我不明白你的更新,OMG Ponies和Justin Cave都告訴你,你必須爲'movieid'提供一個值。如果它們是「數字」列,則您也不需要引用值。 – 2012-02-28 08:04:21