好的,暂时忘掉“好的数据库设计”。假设我有两个表,它们有一些相同的列。
item
-------
id
title
color
和
item_detail
-------
id
weight
color
在良好的普通查询中,您可以在查询中选择所需的列,如下所示:
SELECT item.title, item_detail.color, item_detail.weight ...
但是,如果您遇到使用star / all构建的查询,那该怎么办?
SELECT * ...
在这种情况下,您会在结果中拉回两个color
列,每个表一个。在MySQL中有没有办法选择一个color
列而不是另一个,所以只有一个显示在结果中,而没有完全重写该语句?这样我可以说表item_detail
优先吗?
可能不是,但我想我会问。
答案 0 :(得分:1)
ERR。不,没有。
但定义"没有完全重写语句"。据我所知,您只需要重写查询的select *
部分
如果您根本无法触摸该语句,那么您可以自由地忽略应用程序中的列(列的顺序在调用之间不会改变)...或者您可以创建视图...
当你说&#34时,很难知道你正在处理哪些限制;但是如果你被查询困住怎么办?