来自另一个表的Memsql中的UPSERT

时间:2016-11-30 22:06:49

标签: insert upsert memsql

我正在尝试此查询将一些记录从一个表插入另一个,当recods尚未在目标表中存在时,但是我收到以下错误,对于来自另一个表的memsql中UPSERT的最佳查询是什么?

查询: INSERT INTO ema.device_set   (segment_0,segment_1,segment_2,segment_3,segment_4,last_updated)   SELECT tmp.segment_0,tmp.segment_1,tmp.segment_2,tmp.segment_3,tmp.segment_4,tmp.last_updated   来自ema.tmp_device_set tmp   什么地方没有(                        选择 *                        来自ema.device_set标签                        WHERE tmp.segment_0 = tab.segment_0和tmp.segment_1 = tab.segment_1和tmp.segment_2 = tab.segment_2和tmp.segment_3 = tab.segment_3和tmp.segment_4 = tab.segment_4                      );

错误: 分区没有主实例或叶错误:从磁盘恢复完成后,数据库可在2秒内查询。

2 个答案:

答案 0 :(得分:0)

该错误消息表示您的节点已关闭或正在从磁盘恢复。它与您尝试的特定UPSERT无关。

答案 1 :(得分:0)

检查以确保您的查询没有违反以下链接中显示的MemSQL INSERT ... SELECT规则。

https://docs.memsql.com/docs/insert