我试图写一个查询,但不知道如何去做。
基本上,我有一个名为auths的列表,它保留了授权用户的用户ID值,格式为逗号分隔如下:
126,163,178
在另一个表中是'usernames',该用户的id是上述值之一。
我想回应用户名。
有人可以帮助我。
干杯,
答案 0 :(得分:2)
我会重构您的数据库结构,因此您有一个users
表,其中包含以下字段:
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
auth BOOL
);
如果您能够在一张桌子上保存明确相关的信息,那么点击2个表是没有意义的。
答案 1 :(得分:0)
你需要创建一个连接表,它将包含author_id和user_id字段,有脚本从逗号分隔字段中提取这些信息......
如果无法重建,请考虑使用临时表
答案 2 :(得分:0)
在MySQL中,无法通过分隔符拆分字符串。您必须使用两个查询。第一个查询是从auths表中获取所有ID。然后在您的应用程序中,以编程方式用逗号分隔ID值。第二个查询将从“usernames”表中选择所有行,其中用户ID在您拥有的ID列表中。