带有动态表名的mysql示例

dfty9e19  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(333)

请告诉我。有必要根据表前缀和从表中提取的数据,对数据库进行选择,在数据库中形成表的名称(从中生成样本)。
表格:站点、聊天室和聊天室id(带有通信的表格)。
我需要得到这个网站的id和未读人数从这个网站。我这样做:

SELECT
  s.id AS id,
 (SELECT
   COUNT(*)
  FROM
    HOW TO ET TABLE NAME? AS ch
  WHERE
    ch.chat_id = c.id AND
    status = 0 AND
    type = 'CLIENT'
  ) AS unread
FROM
  site AS s
  LEFT JOIN chat AS c ON
    c.site_id = s.id AND
    c.operator_id = s.user_id
WHERE
  s.user_id = 1;

表的名称由站点的前缀和id组成-chat_1。
也许这不对-不要扔拖鞋)

zphenhs4

zphenhs41#

表的名称在sql级别不可参数化。只能参数化文本值。
在您的例子中,需要根据参数值使用不同的表。要做到这一点,您需要用编程语言(java、php、python等)将sql构建为一个字符串,将各个部分连接起来,以组装表名和查询的其余部分。
你没有别的办法了。

相关问题