最近需求是需要获取到ClickHouse的主键字段,上网找了一圈就是没找到相关答案,根据表结构获取的不太现实,思前想后,于是决定考虑从表字段入手,果然发现了不一样的地方:
获取字段:
SELECT * FROM system.columns WHERE database = 'lwslwslws' AND table = 'menu'
结果:
拉到后面:
发现这里有显示主键,值为1表示:是
于是乎:
把sql改一下:
SELECT name FROM system.columns WHERE database = 'lwslwslws' AND table = 'menu' AND is_in_primary_key = 1
得到:
所以得到查询表主键的sql为:
SELECT name FROM system.columns WHERE database = '你的库名' AND table = '你的表名' AND is_in_primary_key = 1
其中name为下面结果中的字段标题名字,根据需求自己设置。
注意:一个ClickHouse中可能有多个字段,根据需求获取想要的。