IF (SELECT chid
FROM etid
WHERE chid
='888' LIMIT 1) THEN
UPDATE etid
SET checkcount
=IFNULL(checkcount
,0)+1,UpdateTime
=NOW() WHERE chid
='888'
ELSE
INSERT INTO etid
(AID
,BID
,chid
,UpdateTime
) VALUES ('111','222','888',NOW())
END IF;
如果是:
SELECT chid
FROM etid
WHERE chid
='888' LIMIT 1
是有东西的
那么指定字段自加 1
如果非: 插入这数据
或许有着 REPLACE INTO 的那些方法。。。。 但主要还是想通过这个 IF 的情况,MySQL 如何根据 Ture/False ,
--->>[去执行两条完全不同方向的完全语句]
以自己掌握的知识,交由本端和远端交互,拆开查,本地判断,再交远端执行,N 多个握手似乎不太好,能不能一条语句一步到位?
谢谢解答啦。。。。
1
lower 2022-02-11 19:31:48 +08:00
EXISTS
|
2
rabbbit 2022-02-11 20:47:56 +08:00
研究了一下 好像是这样?
DELIMITER // CREATE PROCEDURE Test2() BEGIN IF EXISTS(SELECT * FROM ` item_list` WHERE id=1) THEN SELECT 1; ELSE SELECT 0; END IF; END // DELIMITER ; |
3
ilylx2008 2022-02-11 20:55:11 +08:00
if 只能用在存储过程里
|
4
onhao 2022-02-12 17:47:45 +08:00
楼主可以参考下 这个 https://wuhao.pw/archives/268/ 和 @ilylx2008 说的差不多。
|