Mysql

如何在 MySQL 中選擇所有列和一個別名列

  • January 17, 2020

這是一個簡單的問題,但我找不到答案。

我想用一個SELECT *語句選擇表中的所有列,但我還需要以這種方式為 UUID 列命名:BIN_TO_UUID(ID) as ID.

我需要這樣的東西:

SELECT BIN_TO_UUID(ID) AS ID, * FROM TABLE_NAME

刪除別名的原始列也很好,不要有兩次具有不同名稱的同一列,但只要這不向查詢中添加更多文本,因為我將不得不對我的所有 16 個表重複此操作.

我想出了解決方案。我簡單地重複了表名,如下:

SELECT bin_to_uuid(id) as uuid, table_name.* FROM table_name

但是,如果您有一個不需要重複表名的解決方案,我會支持您的答案,因為在所有查詢中重複所有表名會使我的程式碼有點膨脹。

編輯

正如@ypercubeᵀᴹ 和@Akina 在評論中所建議的那樣,*選擇器位置在 MySQL 中似乎是有限的。如果您將 移動*到第一個位置,一切正常:

SELECT *, bin_to_uuid(id) as uuid FROM table_name

引用自:https://dba.stackexchange.com/questions/257618