MYSQL "SELECT *:not(id) FROM..."。是否有类似的东西?

31 浏览
0 Comments

MYSQL "SELECT *:not(id) FROM..."。是否有类似的东西?

当我连接两个具有\'id\'列的表时,我得到的结果中的\'id\'来自我不需要的表。而且这两个表都有很多列,所以我不想在查询中全部输入它们。是否可以做一些类似于CSS的:not的事情,例如SELECT table1.*,table2.*:not(id) FROM ...?或者可能有其他解决方案吗?\n谢谢

0
0 Comments

MYSQL "SELECT *:not(id) FROM..."这个问题的出现原因是希望在MySQL查询中排除id列,但是无法直接使用":not(id)"来实现。下面是解决这个问题的方法:

作者自己找到了解决方案,非常简单。他只需要将第二个表格放在第一位,然后将原先的第一张表格放在JOIN之后。似乎MySQL只返回最新表格的ID。

谢谢大家!

不,那是你的应用层代码在做这样的操作。

0
0 Comments

MYSQL "SELECT *:not(id) FROM..." 这个问题的出现原因是选择的语句会返回所有的列,包括"id"列。而问题实际上是编程语言库只能访问其中一个"id"列,导致无法获取所有的列。

解决方法是使用另一种方式来选择需要的列。可以尝试使用以下语句来获取所有需要的列:

SELECT table2.*, table1.* ...

这样可以获取到所有需要的列,而不包括"id"列。

0
0 Comments

MYSQL中的SELECT语句用于从数据库表中检索数据。通常,我们可以使用SELECT *来选择表中的所有列。但是,如果我们想要排除某一列,这种方法就无法满足要求了。那么,有没有一种类似的方法可以实现这个需求呢?

实际上,MYSQL并没有提供类似的语法来选择除某一列之外的所有列。如果我们想要排除某一列,就必须手动列出我们想要获取的所有列。这样做确实会更加安全,因为当表或视图中添加新列或重新排序现有列时,我们的应用程序不会因此受到影响。

为了解决这个问题,我们可以使用以下语法来手动选择除某一列之外的所有列:

SELECT column1, column2, column3 FROM table_name;

在这个语句中,我们需要将table_name替换为实际的表名,并将column1, column2, column3替换为我们想要获取的所有列名。通过这种方式,我们就可以选择除了某一列之外的所有列。

总结起来,就是MYSQL中没有类似于"SELECT *:not(id) FROM..."这样的语法来选择除某一列之外的所有列。为了实现这个需求,我们需要手动列出想要获取的所有列名,并将其放入SELECT语句中。

这样做的好处是,我们可以更加灵活地控制我们需要获取的列,并且可以避免在表结构发生变化时导致应用程序崩溃的风险。所以,尽管需要手动列出列名可能会稍微麻烦一些,但这种方式更加安全可靠。

0