SQL, Why do I get this error when creating the reports table?
This is error
There are no primary keys or candidates in the referenced table ('Patients') that match the list of columns referenced in the foreign key 'FK__Reports__Patient__2B3F6F97'. Mens. 1750, Level 16, State 0, Line 29 Could not create restriction or index. See previous errors.
This is my Query
create database kanirmaConnections;
use kanirmaConnections
go
create table Messages(
Id int identity primary key,
Recieve varchar(100),
Sender varchar(100),
Message varchar(100),
Idf int,
foreign key(Idf) references UserData(Id),
);
create table Patients(
PatientID int identity,
Name varchar(100),
Age int,
Gender varchar(20),
BG varchar(100),
problem varchar(100),
Address varchar(100),
city varchar(20),
pincode int,
Idf int,
foreign key(Idf) references UserData(Id),
);
create table Reports(
Id int identity,
PatientName varchar(100),
disease varchar(30),
briefExplain varchar(100),
symptoms varchar(100),
Admited varchar(100),
Idf int,
PatientIDf int,
primary key(Id, Idf, PatientIDf),
foreign key(Idf) references UserData(Id),
foreign key(PatientIDf) references Patients(PatientID),
);
create table UserData(
Id int identity primary key,
Username varchar(20),
password varchar(30),
Email varchar(100),
job varchar(20),
);
/**********************
primary key (Id_usuario),
foreign key (Id_especialidadf) references Especialidad (Id_especialidad),
foreign key (Id_rolf) references Roles (Id_rol)
**********************/
You get this error because PatientId
is declared as an integer identity, but it is not declared as primary key:
create table Patients(
PatientID int identity primary key,
Name varchar(100), -- ^^^^^^^^^^^
Age int,
Gender varchar(20),
BG varchar(100),
problem varchar(100),
Address varchar(100),
city varchar(20),
pincode int,
Idf int,
foreign key(Idf) references UserData(Id),
);
Same problem applies to your Reports
table.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments