if not exists (SELECT * FROM Site_About WHERE ID=2) then
Insert into Site_About(ID,PropertyType,Title,Body,SortIndex) values(2,'1','222','222',1)
else
update Site_About set PropertyType='1', Title='222',Body='222',SortIndex=1 where ID=2
end if
這個陳述句有錯誤
uj5u.com熱心網友回復:
你這個陳述句的意思是不存在id=2的記錄的話就插入記錄,存在的話就更新記錄,請問下報什么錯誤?uj5u.com熱心網友回復:
有判斷的最好是寫存盤程序,感覺你應該是沒有分號結尾。DELIMITER $$
DROP PROCEDURE IF EXISTS `qqq`$$
CREATE PROCEDURE `qqq`()
BEGIN
if not exists (SELECT * FROM aaa WHERE ID=37) then
Insert into aaa(id,val1) values(37,'1');
else
update aaa set val1='1' where ID=37;
end if;
END$$
DELIMITER ;
uj5u.com熱心網友回復:
建議你還是使用 replace into 存在就插入 不存在就洗掉 這個有個缺點就是主鍵ID會急劇增加uj5u.com熱心網友回復:
將 ID 設定為主鍵,或者建立唯一索引然后你就可以直接用 REPLACE INTO 或 INSERT INTO ON DUPLICATE UPDATE
uj5u.com熱心網友回復:
REPLACE INTO 直接解決,有則更新,無則插入,舒舒服服的!轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/84103.html
標籤:MySQL
上一篇:redis生產的部署
下一篇:磁區表能否根據表中資料增加而自增
