KSQLDB: Invalid config variable(s) in the WITH clause: KEY

ksqlDB文档中关于创建带主键的stream的初始语法存在误导,实际应使用`tagIdINTKEY`而非`key='tagId'`。更新后的正确语法为:`CREATEORREPLACESTREAMtagvalue(tagIdINTKEY,valueDOUBLE)WITH(kafka_topic='tagvalue',value_format='json',partitions=1);`这个更改在ksqldb-0.10版本的更新中有所说明。

根据 ksqlDB 的文档,创建一个带主键的 stream 语法如下:

CREATE OR REPLACE STREAM tagvalue (tagId INT, value DOUBLE)
  WITH (kafka_topic='tagvalue', key='tagId', value_format='json', partitions=1);

但是运行后,会看到以下错误:

Invalid config variable(s) in the WITH clause: KEY

这是因为 ksqlDB 实际上把语法给改了,正确的语法应该如下:

CREATE OR REPLACE STREAM tagvalue (tagId INT KEY, value DOUBLE)
  WITH (kafka_topic='tagvalue', value_format='json', partitions=1);

参考链接

https://www.confluent.io/blog/ksqldb-0-10-updates-key-columns/

2025-11-06 13:30:31,448 - INFO - 同步时间范围: 2025-11-05 08:30:00 到 2025-11-06 08:30:00 2025-11-06 13:30:31,587 - INFO - 开始同步表: OEE_AvaiableTime, 主键: OEE_AvaiableTimeId 2025-11-06 13:31:14,710 - DEBUG - 即将执行的SQL语句: 2025-11-06 13:31:14,710 - DEBUG - INSERT INTO OEE_AvaiableTime ("OEE_AVAIABLETIMEID", "STARTTIME", "ENDTIME", "DURATION", "TYPE", "OP", "PARTNO", "LOSSREASON", "COMMENT", "SHIFTWORKTIMEID", "CREATEAT", "UPDATEAT", "BYUSER") VALUES (:OEE_AvaiableTimeId, :StartTime, :EndTime, :Duration, :Type, :op, :PartNo, :LossReason, :comment, :ShiftWorkTimeId, TO_DATE(:CreateAt_date, 'YYYY-MM-DD HH24:MI:SS'), TO_DATE(:UpdateAt_date, 'YYYY-MM-DD HH24:MI:SS'), :ByUser) 2025-11-06 13:31:14,712 - DEBUG - 绑定参数: 2025-11-06 13:31:14,712 - DEBUG - {'OEE_AvaiableTimeId': '7c602b6e-1b3e-406f-a55f-915fa14cf4a5', 'StartTime': '133', 'EndTime': '139', 'Duration': 30, 'Type': '14', 'op': None, 'PartNo': None, 'LossReason': None, 'comment': None, 'ShiftWorkTimeId': 'f0fc7598-ed04-4116-a854-edc694e8c9b6', 'CreateAt_date': '2025-11-05 08:20:53', 'UpdateAt_date': '2025-11-05 13:32:29', 'ByUser': 'AD'} 2025-11-06 13:31:14,712 - DEBUG - 调试格式的SQL: 2025-11-06 13:31:14,712 - DEBUG - INSERT INTO OEE_AvaiableTime ("OEE_AVAIABLETIMEID", "STARTTIME", "ENDTIME", "DURATION", "TYPE", "OP", "PARTNO", "LOSSREASON", "COMMENT", "SHIFTWORKTIMEID", "CREATEAT", "UPDATEAT", "BYUSER") VALUES ('7c602b6e-1b3e-406f-a55f-915fa14cf4a5', '133', '139', '30', '14', 'None', 'None', 'None', 'None', 'f0fc7598-ed04-4116-a854-edc694e8c9b6', TO_DATE('2025-11-05 08:20:53', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2025-11-05 13:32:29', 'YYYY-MM-DD HH24:MI:SS'), 'AD') 2025-11-06 13:31:19,464 - ERROR - 插入出错: ORA-01745: invalid host/bind variable name Help: https://docs.oracle.com/error-help/db/ora-01745/ 2025-11-06 13:31:21,947 - ERROR - 问题SQL: INSERT INTO OEE_AvaiableTime ("OEE_AVAIABLETIMEID", "STARTTIME", "ENDTIME", "DURATION", "TYPE", "OP", "PARTNO", "LOSSREASON", "COMMENT", "SHIFTWORKTIMEID", "CREATEAT", "UPDATEAT", "BYUSER") VALUES (:OEE_AvaiableTimeId, :StartTime, :EndTime, :Duration, :Type, :op, :PartNo, :LossReason, :comment, :ShiftWorkTimeId, TO_DATE(:CreateAt_date, 'YYYY-MM-DD HH24:MI:SS'), TO_DATE(:UpdateAt_date, 'YYYY-MM-DD HH24:MI:SS'), :ByUser) 2025-11-06 13:31:24,426 - ERROR - 参数: {'OEE_AvaiableTimeId': '7c602b6e-1b3e-406f-a55f-915fa14cf4a5', 'StartTime': '133', 'EndTime': '139', 'Duration': 30, 'Type': '14', 'op': None, 'PartNo': None, 'LossReason': None, 'comment': None, 'ShiftWorkTimeId': 'f0fc7598-ed04-4116-a854-edc694e8c9b6', 'CreateAt_date': '2025-11-05 08:20:53', 'UpdateAt_date': '2025-11-05 13:32:29', 'ByUser': 'AD'}
最新发布
11-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

surfirst

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值