Данная ошибка часто возникает при бездумной вставке записей одной базы данных в другую. При этом человек не удосуживается даже изменить ID вставляемых записей, что в последствии и вызывает Duplicate entry... Нарушается работа автоинкремента. Поясню: автоинкремент, если говорить по простому, механизм присвоения номера новой записи в таблице. Когда вы пытаетесь сохранить запись, которая уже имеет в таблице такой же id, база выдаст ошибку и не позволит сохранить такую запись (база, а не Joomla). Для ее исправления вы можете попробовать два варианта. Первый - задать собственно значение автоинкремента. Для этого заходим в phpMyAdmin (либо что у вас там стоит), смотрим, какой максимальный номер в столбце id в таблице #__content, например 36, далее даете такой запрос:
ALTER TABLE yourprefix_content AUTO_INCREMENT=37
Этот запрос задаст новое значение автоинкремента. Возможно, это решит вашу проблему.
Второе - присвоить новые значения всем столбцам, имеющим дублирующиеся значения. Там, если не ошибаюсь, связанных ключей нет, поэтому если сохранения не происходит после первого способа, пишем такой запрос:
SELECT
`id`,
COUNT(`id`) AS `count`
FROM
`yourprefix_content`
GROUP BY
`id`
HAVING
`count` > 1
Этот запрос посчитает и выдаст вам все дубли, которые нужно будет исправить (например, присвоить значение, на 1 больше максимального, если записей 36, то задаем id=37). После того, как этот запрос вернет нулевой результат, материалы должны сохраняться без проблем.
Так же можно использовать чуть более сложный запрос:
SELECT
*
FROM
`yourprefix_content`
WHERE
`id` IN (SELECT `id` FROM `yourprefix_content` GROUP BY `id` HAVING COUNT(*) > 1)
ORDER BY
`id`
Такой запрос не будет считать записи, а вернет только совпадающие по значениям в столбце id, то есть сами дубликаты.