我当前的代码如下:我想使用*从表中调用所有列,但idcastncrew列名应该像castncrewid一样显示。在需求代码中,它不起作用,我希望有一个解决方案来满足我的需求,比如示例需求代码。
当前代码:
SELECT idcastncrew AS castncrewid,castncrewname,castncrewtype,castncrewrole,imagelink,vendor,mode FROM subscriber;
要求:-
SELECT idcastncrew AS castncrewid, * FROM subscriber;
我认为你能得到的最接近的是重新命名的列两次,一次用新名称,一次用旧名称。
而MySQLnot允许*
在别名列之后(导致您的第二个代码片段给出错误),它允许table.*
在任何地方…
SELECT idcastncrew AS castncrewid, subscriber.*
FROM subscriber;
re-iterate;你仍然会得到一个idcastncrew
列,但你也会得到一个castncrewid
列。
在MySQL中使用*
时没有办法说don't include *this* column
https://dbfiddle.uk/?rdbms=mysql_5.7&小提琴= c69c537e46ad29e3c0c8c03d3ebd1bf7
在为表添加别名时可以为列添加别名,示例如下
MariaDB [DEV]> create table xxx (id int, str varchar(20));
MariaDB [DEV]> insert into xxx values (1, 'hi');
MariaDB [DEV]> insert into xxx values (2, 'Hello');
MariaDB [DEV]> insert into xxx values (3, 'World');
MariaDB [DEV]> insert into xxx values (4, 'Goodbye');
MariaDB [DEV]> select a.id as id1, a.* from xxx a order by 1;
+------+------+---------+
| id1 | id | str |
+------+------+---------+
| 1 | 1 | hi |
| 2 | 2 | Hello |
| 3 | 3 | World |
| 4 | 4 | Goodbye |
+------+------+---------+