首页 > 解决方案 > 使用“*”在选择中添加一个额外的列

问题描述

我正在为数据迁移作业编写查询 sql,以获取数据并从 mysql-server a 发送到 mysql-server b。

服务器a有不同的数据库,代表不同的游戏频道,每个数据库都有一个表tablex,它们具有相同的表名和相同的架构:

 uid  level
 123    3
 211    5

而在服务器 b 中,只有一张表tablex可以接收所有数据库的 tablex 并且它还有一列 -channel

channel uid  level
 1      123    3
 1      211    5
 2      355    2

我可以通过 python 从数据库名称解析通道号,但我需要将此常量放在 sql 中,并且由于表很多,我无法修复列。所以只是想确保有什么方法可以做到这一点:

select 1,* from xxx.yyy

标签: mysql

解决方案


您可以尝试添加别名和表名

select 1 as my_col, yyy.* from xxx.yyy

或使用字符串

select cast('1'  as  unsigned) , yyy.* from xxx.yyy

推荐阅读