flink sql 更新mysql字段

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

flink sql 更新mysql字段

lemon
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
Reply | Threaded
Open this post in threaded view
|

Re: flink sql 更新mysql字段

nobleyd
不清楚flink是否支持insert into t(a,b,c)这样,貌似没看到支持。

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

lemon <[hidden email]> 于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
Reply | Threaded
Open this post in threaded view
|

Re: flink sql 更新mysql字段

Leonard Xu
In reply to this post by lemon
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 <[hidden email]> 写道:
>
> 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


Reply | Threaded
Open this post in threaded view
|

Re:Re: flink sql 更新mysql字段

Michael Ran
我们是自定义SQL。  但是不同SQL 更新部分字段,会有锁冲突,是能单条减少冲突量。 批量会死锁
在 2020-09-28 21:36:11,"Leonard Xu" <[hidden email]> 写道:

>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 <[hidden email]> 写道:
>>
>> 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
>
>