标题可能比较混乱,不知道怎么写。这是我需要做的。我有两个表,cronjobs 和 cronjob_seeds。在将 cronjob 添加到数据库之前,我需要查看它是否存在。
考虑这些表:
定时任务:
-id- -callback_model- -callback_method-
1 movie_suggestion_model fetch_similar_movies
cronjob_seeds:
-cronjob_id- -seed-
1 seed1
1 seed2
在添加新的 cronjob 之前,我需要查看数据库中是否存在完全相同的 cronjob。我写了以下查询,但如果 cronjob 有多个种子,它就不起作用。如果它只有一个种子,它会很好用,但每次 cronjob 有多个种子时,它什么都不返回。
SELECT `id`
FROM (`cronjobs`)
INNER JOIN `cronjob_seeds` ON `cronjob_seeds`.`cronjob_id` = `cronjobs`.`id`
WHERE `cronjobs`.`callback_model` = 'movie_suggestion_model'
AND `cronjobs`.`callback_method` = 'fetch_similar_movies'
AND `cronjob_seeds`.`seed` = '1'
AND `cronjob_seeds`.`seed` = 10
我错过了什么吗?我应该使用其他类型的连接吗?
而且,题外话,但种子是回调方法的参数,我只是把它命名为有点奇怪。