2016-12-08 254 views
0

所以我寫這段代碼,它不斷給我錯誤:缺少右括號。我沒有找到它或什麼?我有其他代碼看起來像這樣並且工作,但由於某種原因,這不是想要通過。它說,它正在發生圍繞我的代碼2行....這個SQL代碼有什麼問題?

SQL代碼:

CREATE TABLE MOVIES 
(title_id NUMBER (10) NOT NULL UNIQUE, 
title VARCHAR2 (60) NOT NULL, 
description VARCHAR2 (400) NOT NULL, 
rating VARCHAR2 (4) CHECK (rating= 'G','PG','PG13','R'), 
category VARCHAR2 (20) CHECK (category= 'DRAMA','COMEDY','ACTION','CHILD','SCIFI','DOCUMENTARY'), 
release_date NOT NULL), 
PRIMARY KEY (title_id)); 
+0

這是不是MySQL語法。試圖從另一個數據庫引擎轉換? –

+0

不確定你在告訴我什麼。我對這一切都很陌生。我把這段代碼放到ORACLE數據庫中來創建表,並且它不想創建,因爲右括號顯然缺少。 – Heyhey

+0

我明白了。我在您的問題 –

回答

1

有夫婦在你的代碼錯誤。

  • 不必要的括號release_date列,而遺漏的數據類型
  • 爲了檢驗值的列表中,您已經使用=但你需要使用 IN

試試這個

CREATE TABLE MOVIES 
    (
    title_id  NUMBER (10) NOT NULL, -- unique key will be overridden by the Primary key 
    title  VARCHAR2 (60) NOT NULL, 
    description VARCHAR2 (400) NOT NULL, 
    rating  VARCHAR2 (4) CHECK (rating IN ('G', 'PG', 'PG13', 'R')), -- Should be IN instead of = 
    category  VARCHAR2 (20) CHECK (category IN ('DRAMA', 'COMEDY', 'ACTION', 'CHILD', 'SCIFI', 'DOCUMENTARY')), -- Should be IN instead of = 
    release_date timestamp NOT NULL, -- Unwanted close parenthesis and missing datatype 
    PRIMARY KEY (title_id) 
); 
+0

release_date沒有類型 – igr

+0

@igr - 是錯過了它 –

+0

也許日期或時間戳,datetime不是Oracle列類型 – igr