Импорт в бд

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Не получается

#1 23 июня 2013 в 16:49
Не получается правильно импортировать контент в бд, ( 10.1 ). При добавлении контента удаляется весь старый контент. Просветите как правильно импортировать в бд
#2 23 июня 2013 в 17:57
Видимо, написали запрос с UPDATE, а надо с INSERT.....
Вот, посмотрите.
#3 23 июня 2013 в 18:58
Вот это я пытался импортировать в базу

  1. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  2.  
  3. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  4. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  5. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  6. /*!40101 SET NAMES utf8 */;
  7.  
  8.  
  9. CREATE TABLE IF NOT EXISTS `cms_content` (
  10. `id` int(11) NOT NULL AUTO_INCREMENT,
  11. `category_id` int(11) NOT NULL,
  12. `user_id` int(11) NOT NULL DEFAULT '1',
  13. `pubdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  14. `enddate` date NOT NULL,
  15. `is_end` int(11) NOT NULL,
  16. `title` varchar(200) NOT NULL,
  17. `description` mediumtext NOT NULL,
  18. `content` longtext,
  19. `published` int(11) NOT NULL DEFAULT '1',
  20. `hits` int(11) NOT NULL DEFAULT '0',
  21. `rating` int(11) NOT NULL DEFAULT '0',
  22. `meta_desc` mediumtext NOT NULL,
  23. `meta_keys` mediumtext NOT NULL,
  24. `showtitle` int(11) NOT NULL DEFAULT '1',
  25. `showdate` int(11) NOT NULL DEFAULT '1',
  26. `showlatest` int(11) NOT NULL DEFAULT '1',
  27. `showpath` int(11) NOT NULL DEFAULT '1',
  28. `ordering` int(1) NOT NULL,
  29. `comments` int(11) NOT NULL DEFAULT '1',
  30. `is_arhive` int(11) NOT NULL,
  31. `seolink` varchar(200) NOT NULL,
  32. `canrate` int(11) NOT NULL DEFAULT '1',
  33. `pagetitle` varchar(255) NOT NULL,
  34. `url` varchar(100) NOT NULL,
  35. `tpl` varchar(50) NOT NULL DEFAULT 'com_content_read.tpl',
  36. PRIMARY KEY (`id`),
  37. UNIQUE KEY `seolink` (`seolink`),
  38. KEY `category_id` (`category_id`),
  39. KEY `user_id` (`user_id`),
  40. FULLTEXT KEY `title` (`title`),
  41. FULLTEXT KEY `content` (`content`)
  42. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=443 ;
  43.  
  44. INSERT INTO `cms_content` (`id`, `category_id`, `user_id`, `pubdate`, `enddate`, `is_end`, `title`, `description`, `content`, `published`, `hits`, `rating`, `meta_desc`, `meta_keys`, `showtitle`, `showdate`, `showlatest`, `showpath`, `ordering`, `comments`, `is_arhive`, `seolink`, `canrate`, `pagetitle`, `url`, `tpl`) VALUES
  45. (401, 19, 554, '2013-03-26 14:46:00', '2013-03-17', 0, 'Ребёнoк и гoршoк', '<p>&nbsp; nbsp;гигиены, тoать дoлгo и труднo. Пoчитаетcя,&nbsp;чтo в пoлтoра гoдика, этo как раз тoт мoмент, кoгда мoжнo приучать ребенка к гoршку.', 'ребёнoк, гoршoк, приучить к гoршку, папа, мама', 1, 1, 1, 0, 9, 1, 0, 'vse-stati/interesnoe/rebyonok', 1, 'Гoршки и дети', 'rebyonok', 'com_content_read.tpl');
  46.  
  47. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  48. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  49. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  50.  
с запросом инсерт
#4 24 июня 2013 в 09:53
Попробую угадать — меняется 401 строка. Неудивительно, Вы ее явно указали. Поле id у нас во всех таблицах с автоинкрементом, сами смотрите:

`id` int(11) NOT NULL AUTO_INCREMENT,

Россия и блондинки
а посему, если хотите добавить контент в конец таблицы, просто укажите в инсерте `id` VALUE (''), то бишь пустой стринг. MySQL сам присвоит следующий номер, вслед за крайним существующим в таблице.
#5 24 июня 2013 в 09:56
Попробую сегодня, просто в бд я полный дуб
#6 29 июня 2013 в 15:20
Тогда выдаёт:
  1. #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUE (''),
  2. `category_id` int(11) NOT NULL,
  3. `user_id` int(11) NOT NULL DEFAU' at line 12
#7 29 июня 2013 в 16:12
В принципе особого желания давать ответы на ВАши вопросы нет! Почему? Недавно FUZE закрыл, созданную Вами, маразмную тему "Импорт ютубе в базу????"-(цена и прочее), нет желания давать ссылку на тему.
В которой ВЫ начали заниматься оказание платных услуг, не имея ни малейшего представления в сфере программирования на php, тем более mysql

Не получается правильно импортировать контент в бд, ( 10.1 ). При добавлении контента удаляется весь старый контент. Просветите как правильно импортировать в бд

Россия и блондинки
Но в знак будующего понимания и желания развиваться, дам совет.
Для добавления ( в вашем случае импортирования) данных, есть важный момент.
Это пересекание id данных.
  1.  
  2. INSERT INTO `cms_content` (`id`, ******) VALUES
  3. (401,******
В вашем примере данных для импорта идет полное замещение данных с id 401 и далее до окончания таблицы запросов, вашей таблицы импорта.
Что это значит?
Значит что все id, в базе будут заменены на данные вашего нового запроса.Новый импорт ЗАТРЕТ старые данные.
Это и понятно.
Для импорта сторонних данных достаточто удалить значение идентификатора в поле запроса ID.
С помощью нотепада открываем дамб импортируемых данных, и принудительно в поле id делаем замену значений(предварительно включив голову и пристально следя за процессом замены)
  1.  
  2. VALUES(*-401-402-403-404, заменить на VALUES('',
, не ставим значение- пустое поле.
Ваша задача все поля id, в импортипуемой базе поставить в значение пусто ('')В этом случае, при импорте запроса mysql авоматически вычисляет последнее значение поля id — и присваевает ему новое-соответствужщее возрастающее значение.В этом случае каждая импортируемая новость имеет свой идентификатор- не затирая старые данные.
Как правило, надо весь процесс отслеживать буквально !
PS//
Сравнил!!!
РОССИЯ-
и блондинки?
#8 29 июня 2013 в 16:22
Опасаюсь вмешиваться и, тем более, разочаровать столь продвинутых специалистов, но

VALUES(*-401-402-403-404, заменить на VALUES('',

сработает далеко не на всех конфигурациях MySQL. Лично я предпочитаю ставить NULL вместо ''.
#9 29 июня 2013 в 17:30

Опасаюсь вмешиваться и, тем более, разочаровать столь продвинутых специалистов, но VALUES(*-401-402-403-404, заменить на VALUES('', сработает далеко не на всех конфигурациях MySQL. Лично я предпочитаю ставить NULL вместо ''.

stealthdebuger
Но видимо ВАМ, как спецу понятно что, ТС делает всего один запрос в phpmyadmin и не более, при импрорте дополнительных данных
Он не создает системных файлов импорта в запросах которых есть — есть ПУСТые поля и прочее.
Понятно что если речь идет о запросах в базу из системы, то это второй разговор.
Я лично не сомневаюсь в Вашей компетенции, и всегда готова лучше услышать и принять — чем стараться оспорить неоспоримое…
#10 29 июня 2013 в 17:37
что вы спорите, при вставке просто не использовать поле с автоинкрементом, вот и все. пройтись в дампе поиском и заменой и дело с концом.

ни в коем случае своим ответом не хотел помочь ТС )
#11 29 июня 2013 в 19:29

ни в коем случае своим ответом не хотел помочь ТС )

Fuze
Какой вы редиско, однако laugh
#12 29 июня 2013 в 21:39

что вы спорите, при вставке просто не использовать поле с автоинкрементом, вот и все. пройтись в дампе поиском и заменой и дело с концом.

Fuze
В ответе мною и был описан процесс замены. Или я неправильно интерпретировала "профсленг"- на более доступный вариант ответа?"
#13 29 июня 2013 в 21:45
oll, вы меня не поняли. я имел в виду вообще в запросах убрать поле id

  1. INSERT INTO `cms_content` (`category_id`, `user_id`, `pubdate`, `enddate`, `is_end`, `title`, `description`, `content`, `published`, `hits`, `rating`, `meta_desc`, `meta_keys`, `showtitle`, `showdate`, `showlatest`, `showpath`, `ordering`, `comments`, `is_arhive`, `seolink`, `canrate`, `pagetitle`, `url`, `tpl`) VALUES
  2. (19, 554, '2013-03-26 14:46:00', '2013-03-17', 0, 'Ребёнoк и гoршoк', '', 'ребёнoк, гoршoк, приучить к гoршку, папа, мама', 1, 1, 1, 0, 9, 1, 0, 'vse-stati/interesnoe/rebyonok', 1, 'Гoршки и дети', 'rebyonok', 'com_content_read.tpl');
#14 29 июня 2013 в 21:56
Да причем что я поняла!!
Обьясняйте автору темы -ТС Россия и блондинки .
Что мне пытаетесь доказать ? Я что с пустым ведром дорогу перешла?
#15 29 июня 2013 в 22:09
oll, вы что (и с чего) нервничаете? у нас с вами диалог был вроде бы)

В ответе мною и был описан процесс замены. Или я неправильно интерпретировала "профсленг"- на более доступный вариант ответа?"

oll
я писал совсем о другом
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.