Вы не зашли.
Главная » SQL » Запись ко всем строкам
#1. Vamp Off (1)
Участник
2014.09.27 08:08
Привет, Подскажите как записать в БД в поле адрес сайта

например в таблице есть поле title там хранится заголовок статьи, мне надо во все заголовки которые там записани  добавить адрес сайта.
Статей в БД больше 50 000.

напишите какой запрос выполнить в БД чтобы добавить адрес сайта к всем статьям?
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#2. Gemorroj Off (107)
Administrator
2014.09.27 09:09
структуру таблицы давай
#3. Vamp Off (1)
Участник
2014.09.27 16:04
mysql_query("INSERT INTO `bib` SET `title` = '".$title."', `text` = '".$text."', `time` = '".time()."'");

такой запрос добавляет статьи
Добавлено спустя   9 минут  29 секунд:
также есть у меня сервисная библиотека статей,
как сделать такую настройку в phpmyadmin чтобы когда через скрипт добавляется запись в БД чтобы автоматически вставлялся адрес сайта в ету запись?
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#4. Gemorroj Off (107)
Administrator
2014.09.27 17:05
Код:
UPDATE bib SET title = CONCAT(title, ' твой текст');
Добавлено спустя   1 минуту  28 секунд:
по поводу автоматизации. можно триггером решить. но думаю, тебе лучше найти то место в коде где вставляется заголовок и там его модифицировать.
#5. Vamp Off (1)
Участник
2014.09.27 17:05
Gemorroj спасибо огрномное.

а второй вопрос неполскажешь как?
Добавлено спустя   1 минуту  6 секунд:
Gemorroj БД только у меня, скрипт на других сайтах
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#6. Vamp Off (1)
Участник
2014.09.27 17:05
поможешь с етим?
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#7. Gemorroj Off (107)
Administrator
2014.09.27 18:06
Код:
DELIMITER //
CREATE TRIGGER `insert_bib` BEFORE INSERT ON `bib`
FOR EACH ROW BEGIN
SET NEW.title = CONCAT(NEW.title, ' твой текст');
END
//
DELIMITER ;
Отредактировано Gemorroj (2014.09.27 21:09)
#8. Vamp Off (1)
Участник
2014.09.27 20:08
Gemorroj ето SOL запрос выполнить в БД?
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#9. Gemorroj Off (107)
Administrator
2014.09.27 20:08
Да. У тебя появится триггер, который будет вызываться после любых INSERT в таблицу bib.
#10. Vamp Off (1)
Участник
2014.09.27 20:08
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'
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#11. Gemorroj Off (107)
Administrator
2014.09.27 20:08
ну ты сразу много триггеров пытаешься записать, как я вижу. и не указал последний делимитер ;
#12. Vamp Off (1)
Участник
2014.09.27 21:09
напиши подробно
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#13. Gemorroj Off (107)
Administrator
2014.09.27 21:09
скопируй и выполни запрос.. что еще тут рассказывать..
#14. Vamp Off (1)
Участник
2014.09.27 21:09
DELIMITER 50000;
Добавлено спустя   3 минуты  55 секунд:
делаю такой запрос и ошибка
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#15. Gemorroj Off (107)
Administrator
2014.09.27 21:09
а зачем ты делаешь такой запрос? делай запрос как я написал выше.
#16. Gemorroj Off (107)
Administrator
2014.09.27 21:09
Подправил триггер. Скопируй его полностью и выполни. Замени только "твой текст".
#17. Vamp Off (1)
Участник
2014.09.27 22:10
Ошибка

Вероятно, 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 секунду:
блин что там не так
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#18. Gemorroj Off (107)
Administrator
2014.09.27 23:11
как ты sql запрос выполняешь? и почему ты выполняешь вставку 3-х триггеров, а не одного???
#19. Vamp Off (1)
Участник
2014.09.27 23:11
захожу в База данных: 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 //
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#20. Gemorroj Off (107)
Administrator
2014.09.27 23:11
ты не полностью sql запрос скопировал, где последний DELIMITER ;? и куда ты заходишь? в phpmyadmin?
#21. Vamp Off (1)
Участник
2014.09.27 23:11
захожу в 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 ;
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#22. Gemorroj Off (107)
Administrator
2014.09.27 23:11
ну должно быть все ок.
#23. Vamp Off (1)
Участник
2014.09.27 23:11
и жму ОК
Добавлено спустя   1 минуту  10 секунд:
но ошибка почемуто

делал такой запрос и в пустую таблицу и тоже ошибка
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
#24. Gemorroj Off (107)
Administrator
2014.09.28 00:12
попробуй через консоль.
#25. Vamp Off (1)
Участник
2014.09.28 00:12
нету програмы
Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.
Страниц: 1 2 3 Все
Главная
WEB
PunBB Mod v0.6.2
0.029 s