mysql - 使用“*”在选择中添加一个额外的列
问题描述
我正在为数据迁移作业编写查询 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
解决方案
您可以尝试添加别名和表名
select 1 as my_col, yyy.* from xxx.yyy
或使用字符串
select cast('1' as unsigned) , yyy.* from xxx.yyy
推荐阅读
- laravel - 未定义的变量,但它已经被 Laravel 声明了
- amazon-web-services - 是否可以在不创建 EC2 的情况下测试将 S3 访问限制为单个 VPC 的安全组策略?
- swift - 对层冻结感到困惑
- ios - SwiftUI 禁用自定义标签栏控件的键盘避免
- java - 如何在java中的数组中添加特定值?
- vue.js - Vue 包括全局样式,无需重复每个组件的样式
- node.js - 为什么我在cmd中编码node -v是成功的,但是在cmd中编码npm -v是错误的
- flutter - 如何调整 Flutter AppBar 的边距?
- javascript - 为什么当我提供不存在的 ID 时没有调用 404 错误
- c++ - 在 Linux 中编译 C++ 错误未定义对“__iob”的引用