mysql - 如何在 mysql5 存储过程中内爆查询结果?

标签 mysql sql stored-procedures

我想在我的 mysql 存储过程中使用 "," 内爆查询结果。我该怎么做?

例如,

CREATE DEFINER=`root`@`%` PROCEDURE mysp()

BEGIN

    DROP TABLE IF EXISTS  temp;
    CREATE TABLE temp (ids INT(11) , typeid INT(11));

   INSERT INTO temp SELECT id,typeid FROM table_mine1 ..etc

   INSERT INTO temp SELECT id,typeid FROM table_mine2 ..etc

在此之后,我想从临时表中获取所有“id”并将其作为逗号分隔。

因为我需要再写一个这样的查询

DELETE FROM main_table WHERE ids NOT IN (comma separated ids of temp table.)

如何使用逗号内爆我的临时表的 ID?

最佳答案

看看 GROUP_CONCAT function ? 像这样的东西:

SELECT GROUP_CONCAT(id ORDER BY id DESC SEPARATOR ',') FROM temp;

关于mysql - 如何在 mysql5 存储过程中内爆查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7200546/

相关文章:

mysql - 如何在 SQL SELECT 语句中捕获 THIS year

sql-server - 将 nvarchar 值转换为 int 时转换失败

sql - 如何在SQL Server中使用选择查询创建表?

javascript - 如何使用 AJAX 从 jquery 访问数据库单元

mysql - Django - 如何通过中介链接到遗留数据库?

java - 数据源拒绝建立连接java

mysql - SQL varchar 列长度的最佳实践

sql - "right"进行存储过程参数验证的方法

php - PHP中使用存储过程将数据插入sql数据库

mysql - 查询从具有公共(public)列数据的多行中检索最后一条记录