我试图使用select语句从某个MySQL表中获取除一列之外的所有列.有没有简单的方法可以做到这一点?

编辑:此表中有53列(不是我的设计)

推荐答案

实际上有一种方法,你当然需要有权限才能这么做...

SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '<columns_to_omit>,', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '<table>' AND TABLE_SCHEMA = '<database>'), ' FROM <table>');

PREPARE stmt1 FROM @sql;
EXECUTE stmt1;

替换<table>, <database> and <columns_to_omit>

Mysql相关问答推荐

SQL: Select 并计算下一行的值

左联接重复问题

如何在Sequelize中将查询作为选项?

对多个数据库运行UPDATE mySQL查询

使用MySQL工作台导出具有数据的数据库表并导入到其字段具有不同数据类型的同一表中

约会时的意外行为

比较2个mysql json数据类型列

亚马逊RDS MySQL-无法';t执行';使用读取锁定刷新表';

MySQL如何在触发器内部 Select 多行然后插入它们

如果其中一个表为空,则 mysql 中的查询会给出 0 个结果

生成直到 10 的平方数序列

SQL: Select TEXT 字段的子字符串比整个值快

java.lang.NullPointerException:无法调用com.proj.my.repository.OrderRepository.save(Object),因为this.orderRepository为空

mySql 查询运行速度超慢

如何将内置的时间浏览器过滤器反映到 Grafana 中的 mysql 查询中?

了解 SQL 中的元组语法

我将如何构建一个 SQL 查询来从交易表中 Select 第一次存款、第二次存款和额外存款

MySQL:将日期时间插入其他日期时间字段

将 JavaScript 到日期对象转换为 MySQL 日期格式 (YYYY-MM-DD)

Python 是否支持 MySQL 准备好的语句?