You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

StarRocks建库建表SQL语法报错求助

问题排查与解决

报错的核心原因是你使用的flink-connector-starrocks1.2.3适配的是StarRocks 1.x系列版本,该版本的主键表语法规则和高版本不同,不支持将PRIMARY KEY()作为独立的表级选项放在ENGINE=olap之后,必须将主键定义嵌入字段列表中。

修正后的建表SQL有两种写法,任选其一即可:

写法1:直接在主键字段后声明PRIMARY KEY

CREATE DATABASE IF NOT EXISTS `DataSync`;

CREATE TABLE IF NOT EXISTS `DataSync`.`Person` (
  `PersonID` INT NOT NULL COMMENT "" PRIMARY KEY,
  `RegistrationNumber` INT NOT NULL COMMENT ""
) ENGINE=olap
COMMENT ""
DISTRIBUTED BY HASH(`PersonID`) BUCKETS 1
PROPERTIES (
  "replication_num" = "3"
);

写法2:将PRIMARY KEY()放在字段列表末尾(和MySQL语法一致)

CREATE DATABASE IF NOT EXISTS `DataSync`;

CREATE TABLE IF NOT EXISTS `DataSync`.`Person` (
  `PersonID` INT NOT NULL COMMENT "",
  `RegistrationNumber` INT NOT NULL COMMENT "",
  PRIMARY KEY(`PersonID`)
) ENGINE=olap
COMMENT ""
DISTRIBUTED BY HASH(`PersonID`) BUCKETS 1
PROPERTIES (
  "replication_num" = "3"
);

补充说明:

  • StarRocks 2.x及以上版本才支持把PRIMARY KEY()作为独立表级选项放在ENGINE之后,而你的连接器版本适配的旧版本不支持该语法。
  • 无需调整反引号或字段定义,只要修正主键的声明位置就能解决报错。

内容的提问来源于stack exchange,提问作者Vishal Saxena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 04:32:12