- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Нужно добавить в таблицу MySQL примерно 50к новых записей.
В одной руке у меня текстовый файл в котором 50к айдишников, в другой вот такой запрос:
INSERT INTO `dle_post_extras` (`eid`, `news_id`, `news_read`, `allow_rate`, `rating`, `vote_num`, `votes`, `view_edit`, `disable_index`, `related_ids`, `access`, `editdate`, `editor`, `reason`, `user_id`) VALUES
(проблема1, проблема2, 0, 1, 5, 1, 0, 0, 0, '', '', 0, 'username', '', 0);
Проблема1 - это eid,
eid идут по порядку. Я знаю последний - его номер 4190, но не знаю как к нему автоматом добавить +1 и так 50к раз подряд. Т.е. нужно добавлять 4191,4192,4193,4194 и т.д.
Проблема2 - это текстовый файлик в котором лежит 50к айдишников для news_id на моем локальном компе. Айдишники записаны каждый раз с новой строки и идут не по порядку, поэтому нельзя зацепиться за последний и автоматом добавить +1. Идут не по порядку - это значит, что в моём текстовом файле они выглядят вот так:
1
2
5
6
.
.
.
49997
49998
50000
Т.е. айдишников с номерами 3, 4 и 49999 там просто нет и быть не может.
Как сформировать MySQL запрос? Помогите, потому что мозгов не хватает :gm:
Не шарю в DLE, но предполагаю, что колонка eid в таблице с auto increment, следовательно вставлять туда ничего не нужно, просто пустое значение (сам посчитает и вставит): ('', проблема2, 0, 1, 5, 1, 0, 0, 0, '', '', 0, 'username', '', 0);
Не шарю в DLE, но предполагаю, что колонка eid в таблице с auto increment
И ваше предположение верно! Проблема1 решена! Спасибо!☝
Теперь осталось разобраться с проблемой 2. В принципе эти айдишники я могу брать не только с тектового файла но и селектом с той же базы но с другой таблицы. Если бы этот селект можно было вставить в запрос... Т.е. вот так как-нибудь можно?
INSERT INTO `dle_post_extras` (`eid`, `news_id`, `news_read`, `allow_rate`, `rating`, `vote_num`, `votes`, `view_edit`, `disable_index`, `related_ids`, `access`, `editdate`, `editor`, `reason`, `user_id`) VALUES
('', вставить то, что отдаст селект, 0, 1, 5, 1, 0, 0, 0, '', '', 0, 'username', '', 0);
Какой тут правильный синтаксис и можно ли в принципе такой запрос сформировать?
---------- Добавлено 10.04.2013 в 14:21 ----------
Ещё появилась проблема №3. В поле `vote_num` хотелось бы рандомно вставить значения в диапазоне от 1 до 120. Хотя это скорее не проблема, а так, необходимость, без которой можно обойтись. Но все же надо бы...
Проще скрипт написать, который пройдется по текстовику и вставит рандомные значения.
Судя по названию столбцов, эта таблица хранит параметры статьи и цепляется по news_id.
Поэтому то, что у Вас идет не по порядку - это нормально:
1
2
5
6
Каждая строка будет привязана к новости. Может id новости под номером 3 - не существует просто.
Рандомное значение попробуйте вставлять - FLOOR(1 + RAND() * 120)
Судя по названию столбцов, эта таблица хранит параметры статьи и цепляется по news_id.
Так и есть. В этой таблице news_id обязательно должны быть равны значениям id в таблице с которой можно дернуть айдишники. Я в принципе уже нагуглил как селектом скопировать айдишники, вот так:
INSERT INTO `dle_post_extras` (`news_id`)
SELECT `id` //здесь лежат нужные айдишники
FROM `dle_post` //которые я выдераю из dle_post
WHERE `raw_population` IS NOT NULL; //это я так айдишники нужные определяю
Не знаю на сколько это правда, но очень на неё похоже. Но проблему2 это не решает т.к. этот запрос надо как то добавить к моему предыдущему... Чувствую что истина уже где то очень рядом.
p.s. Рандом работает, спасибо!
p.p.s. Всё, разобрался, -O-O-, огромное спасибо за помощь! Очень пригодилось!