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的主键,外键与唯一约束设置(点赞!!!)