samo733792 19 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Цитата Данная таблица не содержит уникального столбца. Изменение сетки, выставление галочки, редактирование, копирование и удаление не доступно. Здравствуйте, сам не понял как это получилось но после добавления новости новость появился с ID=0 и не отображается, в базе данных en_post и ru_post отображается данная ошибка (в PHPMyAdmin-не) а в dle_post все нормальна. В чем может быть проблема, помогите пожалуйста. P.S. До этого я один раз редактировал одну новость в dle_post: изменил ID одной новости. Сайт http://www.hayatour.am/ Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 067 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 ID новости это уникальное значение которое автоматически генерирует именно база данных MySQL, а не скрипт DLE. DLE этих значений никогда не назначает сам. Что то вы делали с базой данных. Или какие то запросы вручную выполняли, либо использовали какие то некорректно работающие сторонние модули. Удалять это поле с данным ID нужно вручную из БД. Цитата Ссылка на сообщение Поделиться на других сайтах
samo733792 19 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Автор Ручных запросов не было, стотонные модули все используются очень давно, вряд ли это из-за них, ручное изменение ID я сделал на индексе dle а проблемы на всех остальных индексах кроме dle (на сайте еще индексы ru и en). В phpmyadmin я больше нечего не магу сделать, вот скриншоты раздела en_post и его структура https://dl.dropboxusercontent.com/u/107274610/en-post.PNG https://dl.dropboxusercontent.com/u/107274610/struktur.PNG Подскажите пожалуйста что можно сделать. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 067 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Ваших скриншотов не видно. 13 минуты назад, samo733792 сказал: Ручных запросов не было, стотонные модули все используются очень давно, вряд ли это из-за них Запросов не было, сторонние модули не причем, DLE вообще никогда не генерирует ID, соответственно записать не мог. Тогда откуда он появилися? Вы верите в мистику? Я нет. Либо сторонние модули, либо ручные запросы к БД, других вариантов тут быть не может. 13 минуты назад, samo733792 сказал: ручное изменение ID я сделал на индексе dle а проблемы на всех остальных индексах Значит запросы все таки были? Значит когда меняли что-то сделали неправильно. Что именно я сказать не могу, т.к. в этот момент на ваш монитор не смотрел. 13 минуты назад, samo733792 сказал: В phpmyadmin я больше нечего не магу сделать Что значит не можете? Вы не можете удалить новость? Какую ошибку вы получаете? Проверяйте назначенные таблице индексы, скорее всего вы удалили нужные и важные индексы из таблицы. Список индексов для таблицы _post: PRIMARY KEY (`id`), KEY `autor` (`autor`), KEY `alt_name` (`alt_name`), KEY `category` (`category`), KEY `approve` (`approve`), KEY `allow_main` (`allow_main`), KEY `date` (`date`), KEY `symbol` (`symbol`), KEY `comm_num` (`comm_num`), KEY `tags` (`tags`), KEY `fixed` (`fixed`), FULLTEXT KEY `short_story` (`short_story`,`full_story`,`xfields`,`title`) Скорее всего вы удалили из таблицы индекс PRIMARY KEY (`id`) он должен также иметь свойство auto_increment Цитата Ссылка на сообщение Поделиться на других сайтах
samo733792 19 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Автор Как-то я сделал раздел ID уникальным и предупреждение в phpmyadmin исчезла, но теперь на сайте не открывается полная новость, выводится такая ошибка: MySQL error in file: /engine/modules/show.full.php at line 978 Error Number: 1191 The Error returned was: Can't find FULLTEXT index matching the column list SQL query: SELECT id, date, short_story, xfields, title, category, alt_name FROM ru_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('Араратская область В Араратской области большие реки Азат, Аракс, Веди, Раздан. Относительно небольшие реки Арацон, Хосров, Азат, Веди, (Каджару - Дарбант), и так далее. Реки имеют дренажное значение для Араратской долины. В районе поселка Ланджазат, на реке Азат построен водохранилища Зовашен.\r\nВ Араратской области есть много исторических и культурных памятников из которих древний монастырь Хор Вирап и древний Арташат. На вершине холма между верхним Арташатом и Гнавайр Древний Двин, где проводились археологические раскопоки, крепостной церковь Тапи которое (назвали по имени Геворга Марзпетуни), монастырь Авуц Тар XII века, монастырь Светой Карапет, Какаваберд (крепость Кегхи или Гехи), монастырь Агджоц.') AND id != 16 AND approve=1 AND date < '2016-06-14 15:25:17' LIMIT 5 В чем может быть сейчас проблема, раздел FULLTEXT похоже и не должен быть? Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 443 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Выполните sql запрос в phpMyAdmin SHOW CREATE TABLE `ru_post`; и то что получите в ответ, скиньте сюда. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 067 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 58 минут назад, samo733792 сказал: В чем может быть сейчас проблема, раздел FULLTEXT похоже и не должен быть? В том что вы удалили из таблицы ключи и индексы. Выше я вам привел какие индексы должны быть у таблицы. Добавляйте их. В частности в списке стоит FULLTEXT KEY `short_story` (`short_story`,`full_story`,`xfields`,`title`), а у вас ошибка говорит, что такого индекса нет. Цитата Ссылка на сообщение Поделиться на других сайтах
samo733792 19 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Автор 5 часов назад, germanydletest сказал: скиньте сюда. CREATE TABLE `ru_post` ( `id` int(11) NOT NULL AUTO_INCREMENT, `autor` varchar(40) NOT NULL DEFAULT '', `date` datetime NOT NULL DEFAULT '2000-01-01 00:00:00', `short_story` text NOT NULL, `full_story` text NOT NULL, `xfields` text NOT NULL, `title` varchar(255) NOT NULL DEFAULT '', `descr` varchar(200) NOT NULL DEFAULT '', `keywords` text NOT NULL, `category` varchar(200) NOT NULL DEFAULT '0', `alt_name` varchar(200) NOT NULL DEFAULT '', `comm_num` mediumint(8) unsigned NOT NULL DEFAULT '0', `allow_comm` tinyint(1) NOT NULL DEFAULT '1', `allow_main` tinyint(1) unsigned NOT NULL DEFAULT '1', `approve` tinyint(1) NOT NULL DEFAULT '0', `fixed` tinyint(1) NOT NULL DEFAULT '0', `allow_br` tinyint(1) NOT NULL DEFAULT '1', `symbol` varchar(3) NOT NULL DEFAULT '', `tags` varchar(250) NOT NULL DEFAULT '', `metatitle` varchar(255) NOT NULL DEFAULT '', UNIQUE KEY `id_2` (`id`), KEY `id` (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 5 часов назад, celsoft сказал: Добавляйте их. А как это сделать, подскажите пожалуйста запрос. Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 443 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 У Вас таблица нарушена, вот как она должна выглядеть CREATE TABLE `ru_post` ( `id` int(11) NOT NULL AUTO_INCREMENT, `autor` varchar(40) NOT NULL DEFAULT '', `date` datetime NOT NULL DEFAULT '2000-01-01 00:00:00', `short_story` text NOT NULL, `full_story` text NOT NULL, `xfields` text NOT NULL, `title` varchar(255) NOT NULL DEFAULT '', `descr` varchar(200) NOT NULL DEFAULT '', `keywords` text NOT NULL, `category` varchar(200) NOT NULL DEFAULT '0', `alt_name` varchar(200) NOT NULL DEFAULT '', `comm_num` mediumint(8) unsigned NOT NULL DEFAULT '0', `allow_comm` tinyint(1) NOT NULL DEFAULT '1', `allow_main` tinyint(1) unsigned NOT NULL DEFAULT '1', `approve` tinyint(1) NOT NULL DEFAULT '0', `fixed` tinyint(1) NOT NULL DEFAULT '0', `allow_br` tinyint(1) NOT NULL DEFAULT '1', `symbol` varchar(3) NOT NULL DEFAULT '', `tags` varchar(250) NOT NULL DEFAULT '', `metatitle` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `autor` (`autor`), KEY `alt_name` (`alt_name`), KEY `category` (`category`), KEY `approve` (`approve`), KEY `allow_main` (`allow_main`), KEY `date` (`date`), KEY `symbol` (`symbol`), KEY `comm_num` (`comm_num`), KEY `tags` (`tags`), KEY `fixed` (`fixed`), FULLTEXT KEY `short_story` (`short_story`,`full_story`,`xfields`,`title`) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 Цитата Ссылка на сообщение Поделиться на других сайтах
samo733792 19 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Автор 10 минут назад, germanydletest сказал: У Вас таблица нарушена, вот как она должна выглядеть Возможно ли это исправить? Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 443 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 3 минуты назад, samo733792 сказал: Возможно ли это исправить? нет ничего не возможного 17 минут назад, samo733792 сказал: А как это сделать, подскажите пожалуйста запрос. В install.php посмотрите, только Вам надо не создавать таблицу, а обновить её. Цитата Ссылка на сообщение Поделиться на других сайтах
samo733792 19 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Автор 6 минут назад, germanydletest сказал: В install.php посмотрите, только Вам надо не создавать таблицу, а обновить её. Я конечно извиняюсь за назойливость но в запросах, SQL и в PHP я нечего не понимаю, если вам не сложно можете поделится запросом? Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 443 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Делаете бэкап данных таблицы _post, а потом выполняете запрос CREATE TABLE ru_post ( `id` int(11) NOT NULL auto_increment, `autor` varchar(40) NOT NULL default '', `date` datetime NOT NULL default '0000-00-00 00:00:00', `short_story` text NOT NULL, `full_story` text NOT NULL, `xfields` text NOT NULL, `title` varchar(255) NOT NULL default '', `descr` varchar(200) NOT NULL default '', `keywords` text NOT NULL, `category` varchar(200) NOT NULL default '0', `alt_name` varchar(200) NOT NULL default '', `comm_num` mediumint(8) unsigned NOT NULL default '0', `allow_comm` tinyint(1) NOT NULL default '1', `allow_main` tinyint(1) unsigned NOT NULL default '1', `approve` tinyint(1) NOT NULL default '0', `fixed` tinyint(1) NOT NULL default '0', `allow_br` tinyint(1) NOT NULL default '1', `symbol` varchar(3) NOT NULL default '', `tags` VARCHAR(255) NOT NULL default '', `metatitle` varchar(255) NOT NULL default '', PRIMARY KEY (`id`), KEY `autor` (`autor`), KEY `alt_name` (`alt_name`), KEY `category` (`category`), KEY `approve` (`approve`), KEY `allow_main` (`allow_main`), KEY `date` (`date`), KEY `symbol` (`symbol`), KEY `comm_num` (`comm_num`), KEY `tags` (`tags`), KEY `fixed` (`fixed`), FULLTEXT KEY `short_story` (`short_story`,`full_story`,`xfields`,`title`) ) ENGINE=MyISAM /*!40101 DEFAULT CHARACTER SET utf-8 */ Цитата Ссылка на сообщение Поделиться на других сайтах
samo733792 19 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Автор Пишет #1050 - Table 'ru_post' already exists Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 443 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Забыл написать, что после изготовления бэкапа удалите таблицу ru_post Цитата Ссылка на сообщение Поделиться на других сайтах
samo733792 19 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Автор Как понимаю без потери постов не обойтись? Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 443 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 35 минут назад, samo733792 сказал: Как понимаю без потери постов не обойтись? как вы думаете, зачем вам бэкап? что бы вытащить данные из ячеек таблицы и вставить их в новую таблицу, но с учётом того что у вас таблица битая, восстановить получится только частично. Как говорится добро пожаловать в клуб людей делающих ежедневные бэкапы))) 1 Цитата Ссылка на сообщение Поделиться на других сайтах
samo733792 19 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 (изменено) Автор 46 минут назад, germanydletest сказал: что бы вытащить данные из ячеек таблицы и вставить их в новую таблицу, но с учётом того что у вас таблица битая, восстановить получится только частично. Проблему решил таким образам: сделал бекап разделов en_post и ru_post, открыл файл программой Notepadd++, у меня было так: CREATE TABLE IF NOT EXISTS `en_post` ( `id` int(11) NOT NULL AUTO_INCREMENT, `autor` varchar(40) NOT NULL DEFAULT '', `date` datetime NOT NULL DEFAULT '2000-01-01 00:00:00', `short_story` text NOT NULL, `full_story` text NOT NULL, `xfields` text NOT NULL, `title` varchar(255) NOT NULL DEFAULT '', `descr` varchar(200) NOT NULL DEFAULT '', `keywords` text NOT NULL, `category` varchar(200) NOT NULL DEFAULT '0', `alt_name` varchar(200) NOT NULL DEFAULT '', `comm_num` mediumint(8) unsigned NOT NULL DEFAULT '0', `allow_comm` tinyint(1) NOT NULL DEFAULT '1', `allow_main` tinyint(1) unsigned NOT NULL DEFAULT '1', `approve` tinyint(1) NOT NULL DEFAULT '0', `fixed` tinyint(1) NOT NULL DEFAULT '0', `allow_br` tinyint(1) NOT NULL DEFAULT '1', `symbol` varchar(3) NOT NULL DEFAULT '', `tags` varchar(250) NOT NULL DEFAULT '', `metatitle` varchar(255) NOT NULL DEFAULT '', UNIQUE KEY `id_2` (`id`), KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ; И заменил я данный код на вот такой: CREATE TABLE IF NOT EXISTS `en_post` ( `id` int(11) NOT NULL AUTO_INCREMENT, `autor` varchar(40) NOT NULL DEFAULT '', `date` datetime NOT NULL DEFAULT '2000-01-01 00:00:00', `short_story` text NOT NULL, `full_story` text NOT NULL, `xfields` text NOT NULL, `title` varchar(255) NOT NULL DEFAULT '', `descr` varchar(200) NOT NULL DEFAULT '', `keywords` text NOT NULL, `category` varchar(200) NOT NULL DEFAULT '0', `alt_name` varchar(200) NOT NULL DEFAULT '', `comm_num` mediumint(8) unsigned NOT NULL DEFAULT '0', `allow_comm` tinyint(1) NOT NULL DEFAULT '1', `allow_main` tinyint(1) unsigned NOT NULL DEFAULT '1', `approve` tinyint(1) NOT NULL DEFAULT '0', `fixed` tinyint(1) NOT NULL DEFAULT '0', `allow_br` tinyint(1) NOT NULL DEFAULT '1', `symbol` varchar(3) NOT NULL DEFAULT '', `tags` varchar(250) NOT NULL DEFAULT '', `metatitle` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `autor` (`autor`), KEY `alt_name` (`alt_name`), KEY `category` (`category`), KEY `approve` (`approve`), KEY `allow_main` (`allow_main`), KEY `date` (`date`), KEY `symbol` (`symbol`), KEY `comm_num` (`comm_num`), KEY `tags` (`tags`), KEY `fixed` (`fixed`), FULLTEXT KEY `short_story` (`short_story`,`full_story`,`xfields`,`title`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ; Потом импортировал бекап. Похоже что нечего не потерялся, даже если что-то и не сохранился то это нечего, если я не заметил потери значит это не потери. Большое спасибо всем кто помогал, в особенности germanydletest. Изменено 14 июня 2016 пользователем samo733792 Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 443 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Делайте бэкапы, как минимум раз в сутки, благо софта хватает, который бэкапит и выгружает бэкапы в dropbox, Яндекс.Диск и т.д., зато спать спокойно сможете, если что-то пойдёт ни так во время работ с сайтом. Цитата Ссылка на сообщение Поделиться на других сайтах
samo733792 19 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 Автор 13 минуты назад, germanydletest сказал: благо софта хватает, который бэкапит и выгружает бэкапы в dropbox Прямо сейчас работают над cron-ом чтобы настроить бекап базы (правда пока не получается, писал хостеру). А вот про бекап в dropbox это уже очень интересно, что за софт, можете дать ссылку? Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 443 Опубликовано: 14 июня 2016 Рассказать Опубликовано: 14 июня 2016 16 минут назад, samo733792 сказал: можете дать ссылку? Вот к примеру 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.