Почему? я использовал
CONSTRAINT FK_r_p FOREIGN KEY (id_p) REFERENCES Perguntas (id_p)
Раньше, я не знаю, имеет ли это значение, но ... что в этом плохого?
CREATE TABLE Pergunta
(
id_p INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome_aluno VARCHAR2(60) NOT NULL,
titulo VARCHAR2(50) NOT NULL,
nome_disciplina VARCHAR2(50),
descricao VARCHAR2(4000) NOT NULL
);
CREATE TABLE Resposta
(
id_r INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT,
titulo VARCHAR2(50) NOT NULL,
descricao VARCHAR2(4000) NOT NULL,
FOREIGN KEY (id_p) REFERENCES Pergunta (id_p)
);
-1
Natan Giraldi Gonçalves
20 Май 2021 в 16:59
1 ответ
Лучший ответ
Несколько вопросов:
- Столбцы идентификаторов в Oracle создаются с использованием
generated always as identity
- Тип данных Int не требует длины.
- ссылка на другую таблицу основана на столбцах, вам нужно связать столбец со столбцом в другой таблице, поэтому, когда вы делаете fk на id_p в Pergunta, вам нужно определить столбец для этого в вашей таблице
Вот что я имею в виду:
CREATE TABLE Pergunta(
id_p INT GENERATED ALWAYS AS IDENTITY NOT NULL,
nome_aluno VARCHAR2(60) NOT NULL,
titulo VARCHAR2(50) NOT NULL,
nome_disciplina VARCHAR2(50),
descricao VARCHAR2(4000) NOT NULL,
primary key(id_p)
);
CREATE TABLE Resposta(
id_r INT GENERATED ALWAYS AS IDENTITY NOT NULL,
titulo VARCHAR2(50) NOT NULL,
descricao VARCHAR2(4000) NOT NULL,
id_p int ,
FOREIGN KEY (id_p) REFERENCES Pergunta (id_p),
PRIMARY KEY(id_r)
);
2
eshirvana
20 Май 2021 в 14:32
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.