是否有一种方法可以查询MySQL中的所有列,以便模拟此查询
SELECT *, FUNCTION1(), FUCTION2() FROM table1;而不必枚举select子句中的每一列?
我试图实现的是消除枚举查询所需的所有列的繁琐任务,然后在结果集中再添加几个列。
可能看起来像:
选择*,col2 + col5 + col7作为"sum“,CONCAT(col1,”,col3)从table1中选择;
发布于 2014-07-27 16:23:14
是的,你可以按照你的表现来做。
选择列表中的术语可以是:
*)table1.*)您可以在相同的SELECT查询中使用任何或所有这些。
严格地说,SQL99标准不允许选择列表中包含其他术语的*,但在这种情况下可以使用限定通配符。但是MySQL更宽容,它没有这种情况下的标准那么严格。
https://mariadb.com/kb/en/sql-99-complete-really/29-simple-search-conditions/select-statement/显示了标准规则。
http://dev.mysql.com/doc/refman/5.6/en/select.html记录MySQL的行为。它说:“在选择列表中使用不合格的*可能会产生一个解析错误。要避免这个问题,请使用限定的tbl_name.*引用。”但以我的经验来说这很好。
https://stackoverflow.com/questions/24982726
复制相似问题