Sql набирает идентификатор id на OneToMany
Я просто узнаю, как я могу получить последний вставленный идентификатор в связи с этой ссылкой , в базе данных у меня есть две таблицы как channel_content_type
и channel_plain_text_container
, каждая строка channel_plain_text_container
, на которую ссылается channel_content_type
с столбцом content_id
на id
от channel_content_type
что означает, что channel_content_type
имеет больше строк на channel_plain_text_container
, как и многие, теперь, как я могу найти в нем последний вставленный id?
эта команда sql неверна и не возвращает никакой строки
SELECT ptext.id
FROM channel_content_type content
JOIN channel_plain_text_container ptext ON (content.id = ptext.content_id)
LEFT OUTER JOIN channel_content_type p2 ON (content.id = p2.id)
WHERE p2.id IS NULL
Заранее спасибо
Ответы
Ответ 1
Вы можете отсортировать результат по идентификатору по убыванию и получить верхнюю строку:
SELECT ptext.id
FROM channel_content_type content
JOIN channel_plain_text_container ptext ON (content.id = ptext.content_id)
LEFT OUTER JOIN channel_content_type p2 ON (content.id = p2.id)
WHERE p2.id IS NULL
Order by ptext.id desc
В вышеприведенном запросе Order by ptext.id desc
сортирует результат по id в порядке убывания. Первая строка в результирующем наборе содержит результат, который вы ожидаете.