v2.0.26中的sql表,数据源中正常建立sql表,前端表格区块渲染该sql表时显示“Invalid SQL column or table reference”,而且这个sql表之前的版本显示没问题
查询日志,看是哪个字段名有问题。这个系统前端显示的字段名和实际在数据表中的字段名不一样,尤其是sql表自写的字段名,比如UserName在实际的表中可能已经变为user_name了,这是数据库的规范化规则运用的结果。
关键是在数据源建sql表时,正常通过,能提交的,预览也有数据,为啥到前端就显示不出来呢
找到原因了,sql数据集必须有唯一主检才行,联合主键不行,没有唯一主键的,需要构造唯一主键id。
例如:构造一个id=CONCAT(c.id, ‘-’, u.id) AS id
还是有问题,只要select语句有As重命名,就容易报错;
AI总结存在的问题:
- 强制默认主键排序导致报错 :SQL 集合若未在查询结果中显式包含
id列,系统会强制注入ORDER BY id,导致Unknown column 'id'错误,无法支持无主键或复合主键的聚合查询。 - GROUP BY 表达式解析失败 :当 SQL 的
GROUP BY子句中包含函数(如CONCAT)时,系统报Invalid SQL syntax,而相同语句在数据库客户端可正常执行。 - 字段别名映射与排序参数不同步 :当前端请求的排序字段(如
sum)与 SQL 定义的列别名(如total_fee)或字段配置中的“数据库列名”不一致时,系统仅报笼统的Invalid SQL column reference,缺乏具体指引且易受前端缓存影响。