MySql在一个查询中获取逗号分隔的主键

Posted

技术标签:

【中文标题】MySql在一个查询中获取逗号分隔的主键【英文标题】:MySql Fetching comma separated primary key in one query 【发布时间】:2015-03-01 08:54:42 【问题描述】:

我想在单个查询中获取一个表的所有行的主键。

我使用查询实现它--

SELECT GROUP_CONCAT( id SEPARATOR  ',' ) AS ids
FROM tbl_facebook_users
WHERE facebook_user_id
IN ( 336120419901063, 10205028697461204 )

结果如下:

结果:-

ids
-----------
[BLOB - 4B]

实现此功能并获得正确结果的解决方案是什么?

【问题讨论】:

id字段的类型是什么 问题已解决: ------ 从 tbl_facebook_users 中选择 CONVERT(GROUP_CONCAT(id) USING utf8) 作为 ids 默认情况下,用逗号分隔 ids ',' 【参考方案1】:

参考这篇文章:using group_concat in phpMYADMIN will show the result as [BLOB - 3B]

CONVERT(GROUP_CONCAT( id SEPARATOR  ',' ) USING 'utf8')

【讨论】:

【参考方案2】:

@ tejashoni111 : 我正在研究 phpmyadmin 并且主键id 已经有排序规则utf8_general_ci

【讨论】:

【参考方案3】:

使用这个 显示 BLOB 内容 如果你想要 SEPARATOR like ',',请不要在查询中使用 SEPARATOR,因为在 mysql 中默认 SEPARATOR 是 ','

【讨论】:

【参考方案4】:

使用以下查询解决了问题:

从 tbl_facebook_users 中选择 CONVERT(GROUP_CONCAT(id) USING utf8) 作为 id

默认情况下,它用逗号分隔 id ','

如果您想使用任何其他分隔符(例如“;”),请将其用作 --

从 tbl_facebook_users 中选择 CONVERT(GROUP_CONCAT(id SEPARATOR ';' ) USING utf8) 作为 id

【讨论】:

以上是关于MySql在一个查询中获取逗号分隔的主键的主要内容,如果未能解决你的问题,请参考以下文章

初学者必备:MySQL的主键,外键与唯一约束设置(点赞!!!)

初学者必备:MySQL的主键,外键与唯一约束设置(点赞!!!)

MySQL面试题

3.啥是键、候选键、主键和外键?

MySQL常见面试题

MySQL常见面试题