2017-11-13 51 views
1

SQLの学習を開始しましたが、スクリプト作成時に問題が発生しています。コードは私にとって完璧にうまく見えますが、無効な識別子エラーが発生し続けます。私は何度も何度もコードをチェックしましたが、すべてが大丈夫です。私はここで怒っています。私は途中でオラクルを使用しています。識別子のエラーが無効ですが、理由がわかりません

create table Products (ID int not null, Item varchar(30) not null, Size 
varchar(1) not null); 
insert into Products values (321, 'T-shirt', 'M'); 
insert into Products values (211, 'Jeans', 'L'); 
+0

をoracleを使用する –

+0

@Mureinik無効な識別子エラー –

+0

varcharまたはvarchar2が表示されていますか?潜在的な将来の空の文字列とnullの違いを知ることができるようにしたいですか? – xQbert

答えて

1

sizeは、OracleのSQLの予約語で見る(わからない、それはANSI規格に基づいている場合、いくつかのデータベースは、MySQLのように、間違いなくそれを許可します)。

あなたは二重引用符(")を使用して、それを逃れることができます:

CREATE TABLE Products (
    ID INT NOT NULL, 
    Item VARCHAR(30) NOT NULL, 
    "Size" VARCHAR(1) NOT NULL 
); 

をしかし、それだけで予約語ではない名前を選択することがずっと容易になるだろう:私は

CREATE TABLE Products (
    ID INT NOT NULL, 
    Item VARCHAR(30) NOT NULL, 
    ProductSize VARCHAR(1) NOT NULL 
); 
関連する問題