Heim >Backend-Entwicklung >PHP-Tutorial >想请问下MySQL能不能把select关联表的结果存储到主表中?

想请问下MySQL能不能把select关联表的结果存储到主表中?

WBOY
WBOYOriginal
2016-06-06 20:13:10903Durchsuche

是由这个如何在MySQL中存储数组的问题 产生的问题:

问题中解决存储数组的办法是做三个表,分别是uid,uid_hobby,hobby表,要查某个uid的hobby的话只能再执行select uid from uid_hobby where uid = XXX,这样每次都要执行一边挺麻烦的。

想请问下MySQL能不能把对关联表select的结果存储到主表的column中?比如uid表中有一列hobby列,这列里面存放的内容是“select uid from uid_hobby where uid = 当前id”这句话的结果?或者有什么方式可以让这个查询过程自动化一点?在创建表的时候就把这种对应关系定好,这样在查询主表的时候就能一次性查询出来,不用再去查询一遍。

就是说在select hobby from uid where uid = XXX的时候就能直接查询到did对应的hobby而不是还要再执行对关联表的查询。这样对一张表的查询只用查询一张表就完成了。

回复内容:

是由这个如何在MySQL中存储数组的问题 产生的问题:

问题中解决存储数组的办法是做三个表,分别是uid,uid_hobby,hobby表,要查某个uid的hobby的话只能再执行select uid from uid_hobby where uid = XXX,这样每次都要执行一边挺麻烦的。

想请问下MySQL能不能把对关联表select的结果存储到主表的column中?比如uid表中有一列hobby列,这列里面存放的内容是“select uid from uid_hobby where uid = 当前id”这句话的结果?或者有什么方式可以让这个查询过程自动化一点?在创建表的时候就把这种对应关系定好,这样在查询主表的时候就能一次性查询出来,不用再去查询一遍。

就是说在select hobby from uid where uid = XXX的时候就能直接查询到did对应的hobby而不是还要再执行对关联表的查询。这样对一张表的查询只用查询一张表就完成了。

<code>select uid.* from (select uid from uid_hobby where hobby like '%游泳%') hobby_tb, uid where uid.id = hobby_tb.uid</code>

不知道这样理解的对吗?如果是这样的话,你在调用的时候甚至不用再主表创建一个这样的字段了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn