如果一列条件匹配,则MySQL插入或更新

时间:2019-02-07 05:45:19

标签: mysql

我有两个简单的表,parent_table和child_table,但是我花了几天的时间来搜索正确的语法查询,但是我找不到一种方法来满足以下两个简单的要求:

create table if not exists parent_table (id int no null primary key, lastContactTimestamp bigint);

create table if not exists child_table (id int, timestamp bigint, data json, foreign key(id) references(parent_table(id) on delete cascade on update cascade);

(1)要求:更新child_table,还更新parent_table lastContactTimestamp:

如果(更新child_table)更新parent_table设置lastContactTimestamp = timestamp_now;

(2)要求:如果时间戳

更新child_table设置timestamp = timestamp_now,data = data_value,其中timestamp> timestamp_now如果@@ rowcount = 0插入表(id,timestamp,数据)VALUES(id_value,timestamp_value,数据);

您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以在'if @@ rowcount = 0 insert

附近使用正确的语法。

如果我只是运行update child_table set timestamp = timestamp_now,则data = data_value其中timestamp> timestamp_now 查询正常,受影响的0行(0.00秒) 匹配的行:0已更改:0警告:0

如何获取行匹配的输出?如果@@ rowcount = 0是mysql中的合法语法吗?

0 个答案:

没有答案