MySQL如果存在则更新,否则创建新的

时间:2015-07-14 21:31:19

标签: mysql

我有一个兽医表和一个有一对多关系的医疗表,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)中的外键。

1 个答案:

答案 0 :(得分:0)

你必须做一个"选择"查询以确定是否存在。

Select medicalID from medical where medication=? 

这应该在更新时在不同的查询中执行,您需要使用服务器语言来查看结果是否带来结果。然后使用" if"声明决定你的日常生活 希望这可以帮助。