Hier ist mein Code:I Keep eine SQL-Syntax Error bekommen, und ich weiß nicht, warum
CREATE TABLE Doctor (
ssn CHAR(11) PRIMARY KEY,
name CHAR(30),
specialty CHAR(30),
yearsOfExperience INTEGER
);
CREATE TABLE Pharmacy (
pharm_id CHAR(11) PRIMARY KEY,
name CHAR(30),
address CHAR(30),
phone INTEGER
);
CREATE TABLE Pharm_co (
name CHAR(30) PRIMARY KEY,
phone INTEGER
);
CREATE TABLE Pri_Phy_Patient (
ssn CHAR(11) PRIMARY KEY,
name CHAR(20),
age INTEGER,
address CHAR(20),
phy_ssn CHAR(11),
FOREIGN KEY (phy_ssn) REFERENCES Doctor(ssn)
);
CREATE TABLE Make_Drug (
trade_name CHAR(20) PRIMARY KEY,
pharm_co_name CHAR(30) PRIMARY KEY,
formula VARCHAR(100)
FOREIGN KEY (pharm_co_name) REFERENCES Pharm_co(name)
);
CREATE TABLE Prescription (
pre_id NUMBER(10) PRIMARY KEY,
status CHAR(20), -- canceled/ready/pending/completed
drop_off_time TIMESTAMP,
pick_up_time TIMESTAMP,
ssn CHAR(11), -- patient’s ssn
phy_ssn CHAR(11),
pre_date CHAR(11),
quantity INTEGER,
trade_name CHAR(20),
name CHAR(11),
pharm_co_name CHAR(30),
FOREIGN KEY (ssn) REFERENCES Pri_Phy_Patient(ssn),
FOREIGN KEY (phy_ssn) REFERENCES Doctor(ssn),
FOREIGN KEY (trade_name) REFERENCES Make_Drug(trade_name),
FOREIGN KEY (pharm_co_name) REFERENCES Make_Drug(pharm_co_name)
);
CREATE TABLE Contract (
pharm_id CHAR(11) PRIMARY KEY,
start_date CHAR(11),
end_date CHAR(11),
text VARCHAR(4000),
supervisor CHAR(20),
pharm_co_name CHAR(30) PRIMARY KEY,,
FOREIGN KEY (pharm_id) REFERENCES Pharmacy(pharm_id),
FOREIGN KEY (pharm_co_name) REFERENCES Pharm_co(name)
);
Jedes Mal, wenn ich versuche, das Schema zu erstellen:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOREIGN KEY (pharm_co_name) REFERENCES Pharm_co(name))' at line 5
Ich bin nicht sicher, warum es gibt mir immer wieder Syntaxfehler. Ich bin mir ziemlich sicher, dass dies die korrekte Syntax für den Fremdschlüssel ist. Was muss ich tun, um das Problem zu beheben? Ich habe versucht, Dinge zu ändern, aber ich kann es nicht zur Arbeit bringen.
Überprüfen Sie Ihre Kommas (','). –
fehlt comman vor 'FREMDSCHLÜSSEL (pharm_co_name) – scaisEdge
Fügen Sie Tag mit Ihrem DBMS hinzu –