MySQL查询显示列数限制

rkkpypqq  于 2023-02-18  发布在  Mysql
关注(0)|答案(2)|浏览(142)
SHOW COLUMNS FROM ranks LIMIT 3,6

显示错误:
SQL语法中有错误;查看与MySQL服务器版本对应的手册,了解在第1行"LIMIT3,6"附近使用的正确语法
我在谷歌上搜索这个问题,我没有发现任何帮助。
这是MySql的一个bug吗?

7cwmlq89

7cwmlq891#

不能将LIMIT clause用于SHOW COLUMNS Syntax
尽管你可以使用WHERE子句。例如:

SHOW COLUMNS FROM ranks WHERE Field NOT IN ('id', 'name');
tkqqtvp1

tkqqtvp12#

不能将LIMIT clause用于[显示列语法](http://dev.mysql.com/doc/refman/5.0/en/show-columns.html)。
尽管你可以使用WHERE子句。例如:
SHOW COLUMNS FROM ranks WHERE Field NOT IN ('id', 'name');
虽然上面的答案是正确的
这不是最好的答案,因为它需要您指定您不需要的列,而@geomo希望包括前10列,这就是为什么我想更新这个答案。
如@Wrikken所述,您可以查询information_schema.columns表来实现类似的效果。
相同的代码为:

SELECT COLUMN_NAME, DATA_TYPE, COLUMN_DEFAULT, IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'my_table' LIMIT 10;

在此查询中,INFORMATION_SCHEMA.COLUMNS表包含有关当前数据库中所有表和视图中列的元数据。WHERE子句将结果限制为my_table表中的列,LIMIT子句将输出限制为查询返回的前10行。

相关问题