Vamp » 2014.09.27 08:18 |
Привет, Подскажите как записать в БД в поле адрес сайта
например в таблице есть поле title там хранится заголовок статьи, мне надо во все заголовки которые там записани добавить адрес сайта. Статей в БД больше 50 000.
напишите какой запрос выполнить в БД чтобы добавить адрес сайта к всем статьям? |
Gemorroj » 2014.09.27 09:51 |
структуру таблицы давай |
Vamp » 2014.09.27 16:51 |
mysql_query("INSERT INTO `bib` SET `title` = '".$title."', `text` = '".$text."', `time` = '".time()."'");
такой запрос добавляет статьи Добавлено спустя 9 минут 29 секунд: также есть у меня сервисная библиотека статей, как сделать такую настройку в phpmyadmin чтобы когда через скрипт добавляется запись в БД чтобы автоматически вставлялся адрес сайта в ету запись? |
Gemorroj » 2014.09.27 17:16 |
Добавлено спустя 1 минуту 28 секунд: по поводу автоматизации. можно триггером решить. но думаю, тебе лучше найти то место в коде где вставляется заголовок и там его модифицировать. |
Vamp » 2014.09.27 17:18 |
Gemorroj спасибо огрномное.
а второй вопрос неполскажешь как? Добавлено спустя 1 минуту 6 секунд: Gemorroj БД только у меня, скрипт на других сайтах |
Vamp » 2014.09.27 17:40 |
поможешь с етим? |
Gemorroj » 2014.09.27 18:50 |
|
Vamp » 2014.09.27 20:12 |
Gemorroj ето SOL запрос выполнить в БД? |
Gemorroj » 2014.09.27 20:19 |
Да. У тебя появится триггер, который будет вызываться после любых INSERT в таблицу bib. |
Vamp » 2014.09.27 20:43 |
Gemorroj Вероятно, SQL-запрос содержит ошибку. При наличии таковой, ниже будет выведена ошибка MySQL-сервера, облегчающая диагностику проблемы. ERROR: Неизвестная пунктуация @ 11 STR: // SQL: DELIMITER // CREATE TRIGGER `insert_n_squery` AFTER INSERT ON `n_squery` FOR EACH ROW BEGIN UPDATE n_vksquery SET query = CONCAT(query, ' site') WHERE id = NEW.id; END;// DELIMITER // CREATE TRIGGER `insert_n_squery` AFTER INSERT ON `n_squery` FOR EACH ROW BEGIN UPDATE n_vksquery SET query = CONCAT(query, ' site') WHERE id = NEW.id; END;// DELIMITER // CREATE TRIGGER `insert_n_squery` AFTER INSERT ON `n_squery` FOR EACH ROW BEGIN UPDATE n_vksquery SET query = CONCAT(query, ' site') WHERE id = NEW.id; END;//
SQL-запрос:
DELIMITER // CREATE TRIGGER `insert_n_squery` AFTER INSERT ON `n_squery` FOR EACH ROW BEGIN UPDATE n_squery SET query = CONCAT(query, ' site') WHERE id = NEW.id; END;//
Ответ MySQL: #1235 - This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' |
Gemorroj » 2014.09.27 20:55 |
ну ты сразу много триггеров пытаешься записать, как я вижу. и не указал последний делимитер ; |
Vamp » 2014.09.27 21:08 |
напиши подробно |
Gemorroj » 2014.09.27 21:10 |
скопируй и выполни запрос.. что еще тут рассказывать.. |
Vamp » 2014.09.27 21:16 |
DELIMITER 50000; Добавлено спустя 3 минуты 55 секунд: делаю такой запрос и ошибка |
Gemorroj » 2014.09.27 21:42 |
а зачем ты делаешь такой запрос? делай запрос как я написал выше. |
Gemorroj » 2014.09.27 21:54 |
Подправил триггер. Скопируй его полностью и выполни. Замени только "твой текст". |
Vamp » 2014.09.27 22:48 |
Ошибка
Вероятно, SQL-запрос содержит ошибку. При наличии таковой, ниже будет выведена ошибка MySQL-сервера, облегчающая диагностику проблемы. ERROR: Неизвестная пунктуация @ 11 STR: // SQL: DELIMITER // CREATE TRIGGER `insert_songs` BEFORE INSERT ON `songs` FOR EACH ROW BEGIN SET NEW.artist = CONCAT(NEW.artist, ' site'); END // DELIMITER // CREATE TRIGGER `songs` BEFORE INSERT ON `songs` FOR EACH ROW BEGIN SET NEW.artist = CONCAT(NEW.artist, ' site'); END // DELIMITER // CREATE TRIGGER `insert_songs` BEFORE INSERT ON `songs` FOR EACH ROW BEGIN SET NEW.artist = CONCAT(NEW.artist, ' site'); END //
SQL-запрос:
DELIMITER // CREATE TRIGGER `insert_songs` BEFORE INSERT ON `n_songs` FOR EACH ROW BEGIN SET NEW.artist = CONCAT(NEW.artist, ' site'); END //
Ответ MySQL: #1235 - This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' Добавлено спустя 1 минуту 1 секунду: блин что там не так |
Gemorroj » 2014.09.27 23:20 |
как ты sql запрос выполняешь? и почему ты выполняешь вставку 3-х триггеров, а не одного??? |
Vamp » 2014.09.27 23:24 |
захожу в База данных: bib Таблица : songs потом SQL-запрос(ы) и вставляю ето DELIMITER // CREATE TRIGGER `insert_songs` BEFORE INSERT ON `n_songs` FOR EACH ROW BEGIN SET NEW.artist = CONCAT(NEW.artist, ' site'); END // |
Gemorroj » 2014.09.27 23:27 |
ты не полностью sql запрос скопировал, где последний DELIMITER ;? и куда ты заходишь? в phpmyadmin? |
Vamp » 2014.09.27 23:55 |
захожу в phpmyadmin База данных: bib Таблица: songs потом SQL-запрос(ы) и вставляю ето DELIMITER // CREATE TRIGGER `insert_songs` BEFORE INSERT ON `songs` FOR EACH ROW BEGIN SET NEW.artist = CONCAT(NEW.artist, ' site'); END // DELIMITER ; |
Gemorroj » 2014.09.27 23:56 |
ну должно быть все ок. |
Vamp » 2014.09.27 23:57 |
и жму ОК Добавлено спустя 1 минуту 10 секунд: но ошибка почемуто
делал такой запрос и в пустую таблицу и тоже ошибка |
Gemorroj » 2014.09.28 00:06 |
попробуй через консоль. |
Vamp » 2014.09.28 00:10 |
нету програмы |