我该如何做一个总是返回零行的选择
问题描述:
我想确定某个列是否存在于任何jdbc驱动程序的表中。我该如何做一个总是返回零行的选择
为了了解表中的列,我必须对该表进行查询,然后获取信息的ResultSetMetaData,但这在99%的时间内相当昂贵。
在MySQL中我有:
SELECT * FROM tablename LIMIT 0,0
在InterSystems公司的Caché我:
SELECT TOP 0 * FROM tablename
但是,例如,在JavaDB之外,我不能在所有应用任何限制。
是否有任何通用查询会给我相同的结果,并仍然与数据库性能公平?
在此先感谢。
答
SELECT * FROM tableName WHERE 'You' = 'Smart'
答
SELECT * FROM table_name WHERE 1 = 2;
答
select * from tablename where 1 != 1
答
无关,但如果您只是需要MySQL中的列,则可以运行SHOW FIELDS FROM tablename。这会返回列和关联的信息。
答
......或者你可以使用DatabaseMetaData路由。
有一个“getColumns”方法,可以在不创建结果集的情况下执行所需的操作。
在某些数据库上,1会引用*第一列*。即使如此,这将工作:即使NULL不等于NULL。 – Andomar 2009-06-29 16:35:04
不适用于许多数据库。应该是1 1 – 2009-06-29 18:36:32