0
私の計画は外部からデータベースに既存の/新しいレコードを更新/挿入することです。データベースに入るように情報が設定されていますが、すでに存在している。PHPとMYSQLこのMySQLの構文は正しいですか?更新/挿入の場合EXISTS
固有IDは、各行の終了時に行われる
$link = resdb::connect();
$q = "IF (EXISTS (SELECT * FROM property AS this WHERE this.name = $propertyname))"
."begin"
// UPDATE PROPERTY IF IT EXISTS
."UPDATE property (name, propertylocation, propertyrating, propertytype)"
."SET ($propertyname, $locationid, $ratingid, $typeid)"
."WHERE name = $propertyname"
."end"
."ELSE"
."begin"
."INSERT INTO property (name, propertylocation, propertyrating, propertytype)"
."VALUES ($propertyname, $locationid, $ratingid, $typeid)"
."end";
$r = mysqli_query($link, $q);
if($r > 0){
return true;
}
データベースのものをやっで試みた私の最初の。 MySQLのにINSERT ... ON DUPLICATE KEY UPDATE...
INSERT property (name, propertylocation, propertyrating, propertytype)
VALUES ($propertyname, $locationid, $ratingid, $typeid)
ON DUPLICATE KEY UPDATE
propertylocation = VALUES(propertylocation),
propertyrating = VALUES(propertyrating),
propertytype = VALUES(propertytype)
ドキュメントを
ALTER TABLE property ADD UNIQUE KEY(name)
今、あなたは使用することができます:
TSQLメソッドよりも簡単です。 upvoteと答えた。ありがとうございました – goingsideways