これは私の初めての質問stackoverflowで私の質問です。私はデータベースプロジェクトに取り組んでいます。テーブルにデータを挿入する際に問題があります。まず、ここで私はこの文を使用して作成した表は、次のとおりです。ここでテーブルにデータを挿入する際の小さな問題
CREATE TABLE enrolls(
uno NUMBER(5),
eno NUMBER(5),
startTime DATE,
finishTime DATE,
CONSTRAINT enrolls_pk PRIMARY KEY(uno, eno),
FOREIGN KEY(uno) REFERENCES users(uno),
FOREIGN KEY (eno) REFERENCES exam(eno)
);`
は挿入文です:
INSERT INTO enrolls(uno,eno,startTime,finishTime)
VALUES
(1,1,to_date('2012/02/15 10:00:00', 'yyyy/mm/dd hh24:mi:ss'),
to_date('2012/02/22 10:00:00', 'yyyy/mm/dd hh24:mi:ss'));`
私が手にエラーがこれがある:に基づいて
"ORA-02291: integrity constraint (username.SYS_C0093024) violated - parent key
not found"
私がやった研究はほとんどありません。問題は私が外部キーに入れた方法であり、私はそれらのうちの2つが必要です。このエラーを修正するにはどうすればよいですか?私はこれに対して2つの外部キーを書くべきですか?私にお知らせください。ありがとう。
Edit1: 両方の外部キーでCONSTRAINTを使用しましたが、上記の挿入ステートメントを挿入したときにエラーが「uno」から来ていると表示されます。あなたは "users"テーブルで何かが起こっていると思いますか?ここで私は、ユーザーテーブルのために持っているものです。
試験のCREATE TABLE users(
uno NUMBER(5),
email VARCHAR2(64),
password VARCHAR2(64),
fname VARCHAR2 (64) NOT NULL,
lname VARCHAR2 (64) NOT NULL,
address1 VARCHAR2 (64),
address2 VARCHAR2(64),
city VARCHAR2(64),
state VARCHAR2(64),
zip NUMBER(5),
CONSTRAINT users_pk PRIMARY KEY(uno)
);
ワン:
CREATE TABLE exam(
eno NUMBER(5),
etitle VARCHAR2(50),
timeAllowed NUMBER (8),
numberOfQuestionsPerPage NUMBER(3),
CONSTRAINT exam_pk PRIMARY KEY(eno)
);
は、私は正しいことをやった何か私がここで何か間違ったことをやっていますか?
Edit2: 申し訳ありませんが、私は問題を理解したと思います。明らかに、私のSQLプログラミングを使っている大学のサーバーは、私がそこで実装したデータを保存しませんでした。データを再入力して「登録」のデータを実装すると、エラーが表示されませんでした。私はそれがまず問題だったと思う。また、UNIXでSQLのものを保存するにはどうすればよいのでしょうか?
ユーザーと試験が挿入される前に、試験にユーザーを登録しようとしていますか? –
コードを投稿するときは、4つのスペースでインデントし、ブロックを強調表示して '{} 'ボタンまたは' CTRL-K'を押してください。それは他の手段でフォーマットを強制しようとするよりもはるかにうまく機能し、一般に構文ハイライトを追加します。また、タイトルから「SQL」を削除しました。それがタグ付けシステムの目的です。 –
あなたは 'CONSTRAINT ...'で外部キーを導入することもできますし、PKsでもかまいません。失敗した制約を*命名する* –