我想在我的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在此之后,我想从临时表中获取所有“it”,并将其作为逗号分隔。
因为我需要像这样编写另一个查询
DELETE FROM main_table WHERE ids NOT IN (comma separated ids of temp table.)如何使用逗号内爆我的临时表的ids?
发布于 2011-08-26 14:09:42
看看GROUP_CONCAT function吧?类似于:
SELECT GROUP_CONCAT(id ORDER BY id DESC SEPARATOR ',') FROM temp;发布于 2011-08-26 14:10:32
我觉得你可以这样做-
DELETE mt FROM
main_table mt
LEFT JOIN temp t
ON mt.id = t.id
WHERE
t.id IS NULL;此查询将删除临时表中不存在的main_table中的所有记录。不需要使用逗号分隔的in。
https://stackoverflow.com/questions/7200546
复制相似问题