如果我运行此查询:
SELECT `Manga`.`id`, `Manga`.`name` FROM `mangas` AS `Manga` WHERE `Manga`.`id` in
(
SELECT `manga_id` FROM `mangas_genres` where `manga_id` = 1
)
我的电脑没有回应(我只是输错了)。它无法运行此查询。 以上代码无效吗?求你帮帮我。
我认为它有效,但无法运行。我不明白。肯定是MySQL,我在MYSQL工作台上运行查询(不是在PHP中)我的计算机速度很慢(运行查询时) 我的表mangas和mangas_genres有超过5000行。
答案 0 :(得分:2)
这是一个有效的查询,假设所有表名和列名都拼写正确。
CREATE TABLE mangas_genres (manga_id INT NOT NULL); INSERT INTO mangas_genres (manga_id) VALUES (1); CREATE TABLE mangas (id INT NOT NULL, name VARCHAR(100) NOT NULL); INSERT INTO mangas (id, name) VALUES (1, 'manga1'), (2, 'manga2'); SELECT `Manga`.`id`, `Manga`.`name` FROM `mangas` AS `Manga` WHERE `Manga`.`id` in ( SELECT `manga_id` FROM `mangas_genres` where `manga_id` = 1 )
结果:
id name 1 manga1
你的问题出在其他地方。
答案 1 :(得分:2)
我的查询有效但运行查询失去了很多时间(在我的计算机上大于100秒,导致计算机速度非常慢(没有响应)), 求解是加速的指标