我有一个兽医表和一个有一对多关系的医疗表,ID会自动递增。
CREATE TABLE vet(
vetID INT NOT NULL AUTO_INCREMENT,
vetPractice varchar(35),
Address varchar(150),
contactNumber varchar (15),
PRIMARY KEY (VetID)
);
CREATE TABLE medical(
medicalID INT NOT NULL AUTO_INCREMENT,
medication VARCHAR (200),
PRIMARY KEY (medicalID),
FOREIGN KEY (vetID) REFERENCES vet(vetID)
);
用户可以输入兽医的详细信息,我想要一个查询来确定;
如果输入的vet详细信息已存在,则使用输入的vetID更新vetID(medical)中的外键。
否则,如果兽医不存在,则创建一个新的兽医,并使用新创建的vetID更新vetID(medical)中的外键。
我有以下查询
IF EXISTS(SELECT * FROM vet WHERE vetPractice = "inputValue")
THEN
UPDATE medical set value vetID = (Select max(vetID) from vet)
ELSE
INSERT INTO vet values (null, "newVetPractice", "NewAddress", "newContactNumber", "NewEmergencyNumber" );
Then
update medical set value vetID = (Select max(vetID) from vet);
END IF;
但是,我不熟悉mySQL中的其他内容是否是正确的格式,我已经看到了有关存储过程的一些事情。
任何帮助都会受到赞赏。