✅ mysql的jdbc外表,在插入数据时,怎么覆写插入

我的doris有一个mysql的外表,现在我从doris查询数据,插入到mysql外表中。我想覆写插入,可是doris不支持replace into. 因为是mysql外表,也更改不了表引擎。现在很困惑,不知道要怎么操作了,请大家帮忙看看,谢谢啦

这个只要你的mysql的表有主键插入的时候就会更新的吧

不会,mysql是唯一主键,用replace into才能进行覆写插入,而我在doris用外表的方式插入数据,只能用insert into ,这时就会报错,主键重复。目前这就是尴尬的地方,没有想到有什么好的办法解决覆写问题

试试这个?INSERT INTO … ON DUPLICATE KEY UPDATE

语法错误,doris客户端不支持这个语法。我现在是从doris查询数据后向mysql外表插数据,本质上要遵从doris的语法,不然报错。

创建doris表的时候,指定为 Unique 模型:根据 UNIQUE KEY(user_id, username)括号中的字段判断数据是否存在,存在则打上删除标记,插入新数据,打上标记的数据,在查询的时候,会自动排除掉
我是这么理解的,你可以看看官方文档

overwrite呢

overwrite的话,铁铁可以看看这个文档;
如果全表覆盖,不如先truncate再insert
或者使用:INSERT OVERWRITE TABLE xxxxxx SELECT * FROM xxxxxx WHERE 1=0

我刚接触doris两三天,要是有啥说的有错误的地方,铁铁帮忙指正

小伙伴好~Doris 问答论坛已经迁移,辛苦将问题转发至新论坛提问哦。

若方便,请留下你了解 http://forum.selectdb.com/ 论坛的渠道,我们将替换成新论坛的地址,感谢你的配合~

【论坛迁移公告】全新论坛地址 ask.selectdb.com ,后续所有内容将迁移至新论坛