ON DUPLICATE KEY UPDATE替换为H2数据库语句或者orcale语句
INSERTINTOipstatsVALUES('192.168.0.1',1)ONDUPLICATEKEYUPDATEclicks=clicks+1;等价于IF(SEL...
INSERTINTO ipstats VALUES('192.168.0.1', 1) ON DUPLICATE KEY UPDATE clicks=clicks+1;等价于
IF(SELECT * FROM ipstats WHERE ip='192.168.0.1'){UPDATE ipstats SET clicks=clicks+1WHERE ip='192.168.0.1';} else {INSERTINTO ipstats (ip, clicks)VALUES('192.168.0.1', 1);}
我现在想把SQL语句替换成H2的 展开
IF(SELECT * FROM ipstats WHERE ip='192.168.0.1'){UPDATE ipstats SET clicks=clicks+1WHERE ip='192.168.0.1';} else {INSERTINTO ipstats (ip, clicks)VALUES('192.168.0.1', 1);}
我现在想把SQL语句替换成H2的 展开
展开全部
merge into ipstats(ip)
values( '192.168.0.1', ifnull((select clicks from ipstats where ip='192.168.0.1')+1, 1) )
没用过h2,查文档后写的,试下
values( '192.168.0.1', ifnull((select clicks from ipstats where ip='192.168.0.1')+1, 1) )
没用过h2,查文档后写的,试下
追问
这个试过了,在orcale里面可以,在H2里面报错
追答
能否把详细的错误信息发出来?这里是merge语句的文档
http://www.h2database.com/html/grammar.html#merge
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询