Hi lec ssmi:
  insert的时候没有指定id,只指定了dt和cnt,因为id在mysql的sink表里是自增的主键,所以flink sql里并没有指定。
 原始邮件 
发件人: lec ssmi<shicheng31...@gmail.com>
收件人: flink-user-cn<user-zh@flink.apache.org>
发送时间: 2020年9月27日(周日) 14:25
主题: Re: Re: Flink SQL撤回流问题


你那个主键=1,应该是传进去的,不是mysql自动生成的吧。所以auto_increment才会一直增长啊。 kandy.wang 
<kandy1...@163.com> 于2020年9月27日周日 下午2:01写道: > > > > > > > hi > 
你建mysql要指定主键,另外创建flink表时也要指定一下主键 > > PRIMARY KEY (id) NOT 
ENFORCED,这样就会根据主键upsert了 > > > > > > > > > 在 2020-09-27 13:36:25,"xiao cai" 
<flin...@163.com> 写道: > > 
>如果是先delete再insert,为何主键id一直都是1呢,如果delete在insert时指定了id值,那么auto_increment是不会变的。 > 
>这是我很困惑的地方。 > > > > > > 原始邮件 > >发件人: lec ssmi<shicheng31...@gmail.com> > >收件人: 
flink-user-cn<user-zh@flink.apache.org> > >发送时间: 2020年9月27日(周日) 13:06 > >主题: 
Re: Flink SQL撤回流问题 > > > > > >是不是底层的sink在处理retract的时候,使用的是先delte再insert , 
而不是直接update呢。 xiao cai < > flin...@163.com> 于2020年9月27日周日 下午12:08写道: > 场景如下: > 
source table: kafka > > sink table: mysql schem(id, dt, cnt) > > > insert : > 
insert into sink > > select dt,count(distinct id) from source group by dt; > > 
> > 这时mysql对应sink表中有一条数据(1, 2020-09-25, 100),随着事件消费,cnt字段会不断变化,id,dt保持不变 > show 
> create table sink可以发现auto_increment在不断的变大。 > 当超过id的取值范围,就会报错了。 > > > 原始邮件 > > 
发件人: Michael Ran<greemqq...@163.com> > 收件人: user-zh< > 
user-zh@flink.apache.org> > 发送时间: 2020年9月27日(周日) 11:51 > 主题: Re:Flink > 
SQL撤回流问题 > > > 详细场景描述下呢 在 2020-09-27 11:48:36,"xiao cai" <flin...@163.com> > 
写道: >Hi: > >使用Flink SQL撤回流写入MySQL,表的auto_increment > > 
越来越大是为什么,我的输出结果只有一条,mysql表里也只有一条数据,自增主键id的值一直为1,但是auto_increment却越来越大。求解答。 >

回复