MariaDB:我可以在不使用“AS”的情况下检索重复的列名吗

2023-12-02

我有很多使用的表id作为主键。当我将几张桌子连接在一起并且select *,仅显示 id 列之一。使用 MySql 时,解决这个问题的唯一方法是使用SELECT AS, 例如SELECT id AS groupId.

MariaDB 仍然是这种情况吗?我的重复列名不仅限于 id 字段,因此我最终得到了非常详细的 select 语句。

我希望 MariaDB 可以引入一个查询功能,允许列名以其表名作为前缀。例如,查询可能会返回列名称group.id and person.id.

编辑:根据 Shadow 的评论,问题不在于 MariaDB (或 MySql)。结果集确实包含多个“id”字段。问题在于客户端库,在我的例子中是 PDO。


如果结果集中有多个具有相同名称的列,那么即使 mysql 也会返回所有这些列,但它们在结果集中也将具有相同的名称,除非您使用字段别名。创建了一个sqlfiddle来证明这一点here。您的客户端库可能无法区分这两列。这是一个已知问题,例如 Laravel。

mysql 和 mariadb 都允许您在字段名称前添加表名称前缀,但是表名称不会作为字段名称的一部分返回。但是,大多数客户端库都能够检索 mysql / mariadb 返回的结果集中列的元数据,其中包括非计算列的表名称。参见示例mysqli_fetch_field_direct()功能。

您可以使用从元数据检索到的表名称来确定哪个 id 列属于哪个表。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MariaDB:我可以在不使用“AS”的情况下检索重复的列名吗 的相关文章

  • Oracle 函数编译成功,但在执行 PLS-00221 时抛出错误:不是过程或未定义

    我有简单的oracle功能 create or replace function abs test func test in in number return number is test out number BEGIN test out
  • 我不小心锁定了 MySQL 的 root

    我在 OS X 上使用 MySQL 并使用删除了所有 root 用户DROP USER 然后我又添加了其中一些并做了GRANT ALL on to root localhost 然后在验证确实是的之后注销 我可以登录并执行一些特权操作 不幸
  • Hibernate 时间戳 - 毫秒精度

    似乎以毫秒精度存储时间戳是休眠的一个已知问题 我在数据库中的字段最初设置为时间戳 3 但我也尝试过日期时间 3 不幸的是 它没有任何区别 我尝试过使用 Timestamp 和 Date 类 最近我开始使用 joda time 库 经过所有这
  • 在带有 OR 条件的 LEFT JOIN 中使用索引

    考虑以下查询 SELECT FROM table1 LEFT JOIN table2 ON table2 some primary key table1 some primary key LEFT JOIN table3 ON table3
  • 在两个以上的表上使用内联接删除查询

    我想使用两个以上表上的内联接从表中删除记录 假设我有表 A B C D 其中 A 的 pk 在所有其他提到的表中共享 然后如何编写删除查询以使用表 B 和 A 上的内联接从表 D 中删除记录 因为条件是从这两个表中获取的 我需要从 DB2
  • 如何使用Conda安装MySQLdb?

    我已经阅读了有关如何安装 MySQLdb 的几种不同的解释 但我不确定哪种情况适用于我 因为我的错误消息不同 我的系统似乎找不到 MySQLdb 我安装了 pymysql 但我需要导入 MySQLdb 才能使用该库中的过程 感谢您的帮助 c
  • LINQ-to-SQL 是否支持组合查询?

    作为一名不懂 C 的程序员 我对 LINQ 查询的求值语义很好奇 如下所示 var people from p in Person where p age lt 18 select p var otherPeople from p in p
  • 使用聚合函数时减少 Athena 扫描的数据量

    以下查询扫描 100 MB 的数据 select from table where column1 val and partition id 20190309 然而 下面的查询扫描了 15 GB 的数据 有超过 90 个分区 select
  • 对 SQL Server 2005 结果进行分页

    如何在 SQL Server 2005 中对结果进行分页 我在 SQL Server 2000 中尝试过 但没有可靠的方法来做到这一点 我现在想知道SQL Server 2005是否有任何内置方法 分页的意思是 例如 如果我按用户名列出用户
  • 如何让MySQL数据库完全在内存中运行?

    我注意到我的数据库服务器支持内存数据库引擎 我想让一个已经运行 InnoDB 的数据库完全在内存中运行以提高性能 我怎么做 我探索了 PHPMyAdmin 但找不到 更改引擎 功能 假设您了解注释中提到的使用 MEMORY 引擎的后果 并且
  • WHERE 子句或 ON 子句中的 INNER JOIN 条件?

    我今天输错了一个查询 但它仍然有效并给出了预期的结果 我的意思是运行这个查询 SELECT e id FROM employees e JOIN users u ON u email e email WHERE u id 139840 但我
  • 使用 Hibernate Dialect 设置表字符集/排序规则?

    我使用 Hibernate MySQLInnoDB Dialect 来生成 DDL hibernate cfg xml
  • 我应该为 MySQL 使用什么 python 3 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 据我所知 MySQLdb 仍然没有移植到 Python 3 pypy 上似乎有另一个名为 PyMySQL
  • SQL Server:比较两个表中的列

    我最近完成了从某些应用程序的旧版本到当前版本的迁移 在迁移数据库时遇到了一些问题 我需要一个可以帮助我比较两个表中的列的查询 我的意思不是行中的数据 我需要比较列本身来弄清楚我错过了表结构的哪些变化 看一下红门 SQL 比较 http ww
  • 对时间序列数据重新采样

    我有一个以毫秒为单位的时间序列列表 我想对时间序列进行重新采样并对组应用平均值 我如何在 Postgres 中实现它 重新采样 是指聚合一秒或一分钟内的所有时间戳 一秒或一分钟内的所有行形成一组 表结构 date x y z Use dat
  • 计算行数并仅获取表中的最后一行

    我有一张桌子叫employeexam其结构和数据是这样的 id course id employee id degree date 1 1 3 8 2013 01 14 2 2 4 15 2013 01 14 3 2 4 17 2013 0
  • 在 MySQL 中搜索多个单词

    我使用 HTML 表单来允许用户查找数据库表中的条目
  • 如何获取mysql中一条记录的大小

    如果表包含 TEXT 或 BLOB 类型的字段 如何获取 MySql 中记录的大小 是否可以使用sql语句获取记录或表的大小 要计算字符串或 blob 的大小 以字节为单位 请使用LENGTH YourColumn http dev mys
  • 左连接 SQL 求和

    我有两张桌子想要加入 比如说表 a 和表 b 表 b 有许多行指向表 a 表 b 包含价格 实际上是一个购物篮 所以我想要的是表a中的所有记录和表b中的价格之和 我努力了 select a sum b ach sell from booki
  • 更新查询时 ios 中出现“数据库锁定”错误

    我正在使用下面的代码更新查询 using sqlite 但我越来越 database is locked error 我尝试搜索一些 SO 链接 建议关闭数据库 但我再次执行此操作时遇到相同的错误 我已经提到过代码中出现错误的地方 cons

随机推荐

  • Pandas read_csv 在解析数字时忽略美元符号

    我有一个 csv 文件 其中一些单元格带有美元符号 例如 46 5 我强迫所有类型都是numpy float64在函数中pandas read csv 它抱怨ValueError could not convert string to fl
  • 如何修复 IE7 浮动清除组合

    我有一个 field wrapper 类 div 其中包含 3 个子 div field label field input 和 field error 我需要将 field label field input 并排放置 并将 field
  • Canvas/JS:计算倾斜斜坡碰撞中物体的新速度矢量?

    好吧 我正在 JS Canvas 上开发弹球游戏 我想知道如何处理鳍状肢和球之间的碰撞 我可以让脚蹼击球 但我对如何通过不同的脚蹼位置 角度 改变球的速度方向感到困惑 以下是我可以从脚蹼和球中使用的信息 this ballPosX ball
  • Django:管理中的验证错误

    新手警报 背景 这是我第一次编写一个需要验证的模型 我不能有两个Items具有重叠的 日期范围 我一切正常 除了当我引发 forms ValidationError 时 我得到死亡黄屏 debug true 或 500 页 debug fa
  • 如何快速制作不同形状的图像视图

    我想将普通的ios图像视图更改为下面的图像形状 如弧线 您可以使用它来根据您的要求设计形状 您可以向路径添加额外的线条 以防您需要修改贝塞尔曲线路径 创建一个自定义 UIImageView 类 并将故事板中的图像视图子类化为您的自定义类 i
  • 默认最大 Java 堆大小是如何确定的?

    如果我省略 Xmxn来自 Java 命令行的选项 则将使用默认值 根据Java 文档 默认值是在运行时根据系统配置选择的 哪些系统配置设置会影响默认值 在 Windows 上 您可以使用以下命令来查找运行应用程序的系统上的默认值 java
  • 如何使用url参数自动登录网站?

    我有一个链接 如果用户点击该链接 它应该会自动登录该网站 并从该网址读取用户名和密码 因此 用户无需填写用户名字段和密码字段即可查看该站点 url 格式是否正确 如果不正确 正确的格式是什么 我认为你需要的格式是 http 用户名 电子邮件
  • 如何将 MFP 8 Beta 移动应用程序迁移到 MFP 8 GA 版本?

    情况是这样的 我构建了一个与 mfp 8 beta 进行不同集成的应用程序 该应用程序在本地开发服务器上完全运行 并且主要在 Bluemix 上运行 测试期间 该应用程序的所有基本功能均在 MFP 8 Beta 服务器 本地和 Bluemi
  • 使用 yadcf 过滤器导出为 PDF 时标题不正确

    当我尝试使用过滤器 yadcf 将数据表导出为 pdf 时 标题始终显示过滤器中的每个案例 如何隐藏它 我的 JavaScript 是 var vsan vsan DataTable lengthMenu 1 10 40 50 All 10
  • Clojure:try,catch 宏也会关闭任何文件流(不是 with-open)

    UPDATE 感谢迄今为止所有的帮助 这是我的新代码 可以运行 但并不完全如我所愿 我需要它返回java异常 不要问我为什么 例子 safe 1 0
  • 如何取消定时器并更新相同的定时器?

    我正在创建一个每 30 秒振动一次并发出蜂鸣声的应用程序 当我注销时 振动和蜂鸣声必须取消 当我登录时 振动和蜂鸣声应恢复 注意 它必须每 30 秒振动一次并发出蜂鸣声 直到我退出 在我的应用程序中我正在使用TimerTask对于这个实现
  • 当 Swift 桥接头导入导入 Hopscotch-Swift.h 本身的文件时,如何防止循环引用

    我正在将 Swift 集成到一个现有的大型 Objective C 项目中 并且遇到了我认为是循环引用的情况 有问题的类如下 Objective C 控制器 import Hopscotch Swift h interface MyCont
  • Powershell:接收函数返回的数组包含数组中每个值的增量数字[重复]

    这个问题在这里已经有答案了 我是 PowerShell 新手 有一个我无法解释的奇怪行为 我调用一个返回a的函数 System Collections ArrayList 但是当我打印接收数组内容的变量时 如果我有一个值 例如 logXXX
  • 浮点图 - 打开/关闭系列

    我成功地建立了我的流程图 基于上一篇文章 我想让查看者通过单击即可显示 隐藏该系列 我找到了很多解决方案 包括官方的和其他的 但没有一个对我有用 我会解释一下 官方开启 关闭系列 这有效 但看起来非常混乱 因为图例最终被复制了两次 一旦系列
  • 在android中接收和串联超过160个字符的短信

    我正在我的应用程序中开发一个短信接收器模块 在该模块中我正在使用我的应用程序接收短信 如果短信超过 160 个字符 那么我必须将该短信与其下一部分连接起来并显示它 目前我正在使用一个简单的接收器代码 请建议我执行此任务 是的 尝试处理多部分
  • sp1 应用到 SQL Server 2014 后,RESTORE HEADERONLY 出现错误 3013

    我最近将 SP1 应用到 SQL Server 2014 完成并除尘 没有问题 几周后 当尝试使用我的存储过程之一从网络上的 bak 文件恢复数据库之一时 抛出以下错误消息 错误 RESTORE HEADERONLY 异常终止 错误 301
  • 如何仅显示数据中存在的图例中的类别

    我有一个数据框如下 在上面的数据框中 Month 是一个有序的Categorical列定义为 cats January February March April May June July August September October
  • WPF MVVM 将图像控件绑定到资源中的图像

    我的资源中有一个图像 我想根据使用转换器的输入文本字符串显示图像 实现此图像的方法是什么 因为它没有显示在我的应用程序中 在我的转换器 EstateCodetoEstateImageConverter 中我有 return Resource
  • iOS 9 数字键盘中看不到完成按钮的问题

    此代码在 ios 6 7 8 中工作 但在 ios 9 中调用了所有方法 但它不可见 在数字键盘上 这是我的代码 import ViewController h define TAG BUTTON DONE 67125 interface
  • MariaDB:我可以在不使用“AS”的情况下检索重复的列名吗

    我有很多使用的表id作为主键 当我将几张桌子连接在一起并且select 仅显示 id 列之一 使用 MySql 时 解决这个问题的唯一方法是使用SELECT AS 例如SELECT id AS groupId MariaDB 仍然是这种情况