select中是否存在星号排除其他列?

and*_*bd1 3 mysql sql mariadb

这个问题都是关于懒惰......我想做这样的事情:

select some_func(some_col), * from my_table
Run Code Online (Sandbox Code Playgroud)

所以我不必这样做:

select some_func(some_col), col_1, col_2... col_ad_infinitum from my_table
Run Code Online (Sandbox Code Playgroud)

有没有办法让第一个查询工作?这是我运行时遇到的错误:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* from my_table' at line 1
Run Code Online (Sandbox Code Playgroud)

ype*_*eᵀᴹ 7

你的意思是在MySQL你的第一个查询:

SELECT some_func(some_col), * 
FROM my_table
Run Code Online (Sandbox Code Playgroud)

产生这个错误?:

错误代码:1064.您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"*"附近使用正确的语法


您可以将代码更改为(这样可以避免错误!):

SELECT *, some_func(some_col) 
FROM my_table
Run Code Online (Sandbox Code Playgroud)

或者,如果您想先计算列,请执行此操作:

SELECT some_func(some_col), t.* 
FROM my_table AS t
Run Code Online (Sandbox Code Playgroud)


Boh*_*ian 5

不幸的是,mysql 仅支持列列表开头的星号(与我熟悉的其他所有数据库不同)

(编辑:开始而不是结束- 哎呀!)