我想确定任何jdbc驱动程序的表中是否存在列。
为了知道表中的列,我必须对表进行查询,然后获取信息的ResultSetMetaData,但这在99%的时间内非常昂贵。
在mysql中我有:
SELECT * FROM tablename LIMIT 0,0
在Intersystems.caché中我有:
SELECT TOP 0 * FROM tablename
但是,例如,在JavaDB中,我根本不能应用任何限制。
是否有任何通用查询可以给我相同的结果并且仍然可以公平地使用数据库性能?
提前致谢。
答案 0 :(得分:23)
SELECT * FROM tableName WHERE 'You' = 'Smart'
答案 1 :(得分:17)
...或者您可以使用DatabaseMetaData路由。
有一个“getColumns”方法可以在不创建结果集的情况下完成所需的操作。
答案 2 :(得分:8)
SELECT * FROM table_name WHERE 1 = 2;
答案 3 :(得分:4)
select * from tablename where 1 != 1
答案 4 :(得分:3)
不相关,但如果您只需要MySQL中的列,则可以运行SHOW FIELDS FROM tablename。这将返回列和相关信息。