MySQL#1052 - 字段列表中的列'id'不明确

时间:2017-10-13 02:35:23

标签: mysql mysql-error-1064 tag-cloud

尝试创建带有提示的标记云 https://www.quora.com/What-is-the-easiest-way-to-create-a-tag-cloud-from-a-MySQL-column

我正在数据库中创建一个新表。 数据库有一个名为'tracks'的表 表中包含名为“tag”的列 “标记”字段填充有逗号分隔的标记,即tag01,tag02,tag03等

我正在尝试创建一个新表

我已经运行了以下

CREATE TABLE counter (
    id int unsigned NOT NULL AUTO_INCREMENT,
    primary key (id)
);
----
delimiter //
CREATE PROCEDURE populate_counter()
BEGIN
    SET @i = 0;
    SET @n = (select max(LENGTH(tag) - LENGTH(REPLACE(tag, ' ', ''))+1) from tracks);
    WHILE @i<@n DO
        INSERT INTO counter (id) VALUES (NULL);
        SET @i = @i + 1;
    END WHILE;
END
//
delimiter ;
----

那部分似乎已经好了。然后我尝试运行程序

call populate_counter()
----
select 
    word, 
    count(*) as freq
from (
    select 
        case 
            when id <= LENGTH(tag) - LENGTH(REPLACE(tag, ' ', ''))+1 then SUBSTRING_INDEX(SUBSTRING_INDEX(tag, ' ', id), ' ', -1) 
            else '' 
        end as word 
    from tracks, counter
) t
where 
    0 < LENGTH(word)
group by word

我明白了:

MySQL#1052 - 字段列表中的列'id'不明确。

不确定如何从那里继续。

欢迎任何建议!

Apache / 2.4.10(Debian) 数据库客户端版本:libmysql - 5.5.57 PHP扩展:mysqli

由于

0 个答案:

没有答案