You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by lemon <z_...@foxmail.com> on 2020/09/28 09:46:47 UTC

flink sql 更新mysql字段

hi各位:
请问一下,如果mysql表中有20个字段,现在有多个insert into的语句分别更新指定字段,即同一条记录可能有多个insert语句去分别更新不同字段
现在遇到的问题是,因为在insert into语句中需要将mysql中所有字段都带上,所以更新会覆盖其他字段的值。
例如insert into mysql select a,b c from kafka,但是我只要更新a,b字段,c字段想保持原来的值,请问这种情况需要怎么操作?
flink1.10.1版本 blink

Re: flink sql 更新mysql字段

Posted by 赵一旦 <hi...@gmail.com>.
不清楚flink是否支持insert into t(a,b,c)这样,貌似没看到支持。

不过你这个解决方法还是有的,就是同一个mysql表你可以对应到多个虚拟表比如t1,t2。
t1只定义其中几个字段。t2定义另外几个字段。
此处t1和t2指的是在FlinkSQL中定义表。

lemon <z_...@foxmail.com> 于2020年9月28日周一 下午5:47写道:

> hi各位:
> 请问一下,如果mysql表中有20个字段,现在有多个insert
> into的语句分别更新指定字段,即同一条记录可能有多个insert语句去分别更新不同字段
> 现在遇到的问题是,因为在insert into语句中需要将mysql中所有字段都带上,所以更新会覆盖其他字段的值。
> 例如insert into mysql select a,b c from
> kafka,但是我只要更新a,b字段,c字段想保持原来的值,请问这种情况需要怎么操作?
> flink1.10.1版本 blink

Re:Re: flink sql 更新mysql字段

Posted by Michael Ran <gr...@163.com>.
我们是自定义SQL。  但是不同SQL 更新部分字段,会有锁冲突,是能单条减少冲突量。 批量会死锁
在 2020-09-28 21:36:11,"Leonard Xu" <xb...@gmail.com> 写道:
>Hi
>
>Insert 到指定字段是个通用的需求,社区已经有一个issue[1] 在跟踪了,你可以关注下
>
>
>祝好
>Leonard
>[1] https://issues.apache.org/jira/browse/FLINK-18726 <https://issues.apache.org/jira/browse/FLINK-18726> 
>
>> 在 2020年9月28日,17:46,lemon <z_...@foxmail.com> 写道:
>> 
>> hi各位:
>> 请问一下,如果mysql表中有20个字段,现在有多个insert into的语句分别更新指定字段,即同一条记录可能有多个insert语句去分别更新不同字段
>> 现在遇到的问题是,因为在insert into语句中需要将mysql中所有字段都带上,所以更新会覆盖其他字段的值。
>> 例如insert into mysql select a,b c from kafka,但是我只要更新a,b字段,c字段想保持原来的值,请问这种情况需要怎么操作?
>> flink1.10.1版本 blink
>
>

Re: flink sql 更新mysql字段

Posted by Leonard Xu <xb...@gmail.com>.
Hi

Insert 到指定字段是个通用的需求,社区已经有一个issue[1] 在跟踪了,你可以关注下


祝好
Leonard
[1] https://issues.apache.org/jira/browse/FLINK-18726 <https://issues.apache.org/jira/browse/FLINK-18726> 

> 在 2020年9月28日,17:46,lemon <z_...@foxmail.com> 写道:
> 
> hi各位:
> 请问一下,如果mysql表中有20个字段,现在有多个insert into的语句分别更新指定字段,即同一条记录可能有多个insert语句去分别更新不同字段
> 现在遇到的问题是,因为在insert into语句中需要将mysql中所有字段都带上,所以更新会覆盖其他字段的值。
> 例如insert into mysql select a,b c from kafka,但是我只要更新a,b字段,c字段想保持原来的值,请问这种情况需要怎么操作?
> flink1.10.1版本 blink