#1 2014.09.27 08:18

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Запись ко всем строкам

Привет, Подскажите как записать в БД в поле адрес сайта

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

напишите какой запрос выполнить в БД чтобы добавить адрес сайта к всем статьям?


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#2 2014.09.27 09:51

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

структуру таблицы давай

Активен

#3 2014.09.27 16:51

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

mysql_query("INSERT INTO `bib` SET `title` = '".$title."', `text` = '".$text."', `time` = '".time()."'");

такой запрос добавляет статьи
Добавлено спустя   9 минут  29 секунд:
также есть у меня сервисная библиотека статей,
как сделать такую настройку в phpmyadmin чтобы когда через скрипт добавляется запись в БД чтобы автоматически вставлялся адрес сайта в ету запись?


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#4 2014.09.27 17:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

Код:

1
UPDATE bib SET title = CONCAT(title, ' твой текст');

Добавлено спустя   1 минуту  28 секунд:
по поводу автоматизации. можно триггером решить. но думаю, тебе лучше найти то место в коде где вставляется заголовок и там его модифицировать.

Активен

#5 2014.09.27 17:18

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

Gemorroj спасибо огрномное.

а второй вопрос неполскажешь как?
Добавлено спустя   1 минуту  6 секунд:
Gemorroj БД только у меня, скрипт на других сайтах


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#6 2014.09.27 17:40

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

поможешь с етим?


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#7 2014.09.27 18:50

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

Код:

1
2
3
4
5
6
7
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:53)

Активен

#8 2014.09.27 20:12

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

Gemorroj ето SOL запрос выполнить в БД?


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#9 2014.09.27 20:19

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

Да. У тебя появится триггер, который будет вызываться после любых INSERT в таблицу bib.

Активен

#10 2014.09.27 20:43

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

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 2014.09.27 20:55

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

ну ты сразу много триггеров пытаешься записать, как я вижу. и не указал последний делимитер ;

Активен

#12 2014.09.27 21:08

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

напиши подробно


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#13 2014.09.27 21:10

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

скопируй и выполни запрос.. что еще тут рассказывать..

Активен

#14 2014.09.27 21:16

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

DELIMITER 50000;
Добавлено спустя   3 минуты  55 секунд:
делаю такой запрос и ошибка


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#15 2014.09.27 21:42

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

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

Активен

#16 2014.09.27 21:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

Подправил триггер. Скопируй его полностью и выполни. Замени только "твой текст".

Активен

#17 2014.09.27 22:48

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

Ошибка

Вероятно, 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 2014.09.27 23:20

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

как ты sql запрос выполняешь? и почему ты выполняешь вставку 3-х триггеров, а не одного???

Активен

#19 2014.09.27 23:24

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

захожу в База данных: 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 2014.09.27 23:27

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

ты не полностью sql запрос скопировал, где последний DELIMITER ;? и куда ты заходишь? в phpmyadmin?

Активен

#21 2014.09.27 23:55

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

захожу в 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 2014.09.27 23:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

ну должно быть все ок.

Активен

#23 2014.09.27 23:57

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

и жму ОК
Добавлено спустя   1 минуту  10 секунд:
но ошибка почемуто

делал такой запрос и в пустую таблицу и тоже ошибка


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#24 2014.09.28 00:06

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Запись ко всем строкам

попробуй через консоль.

Активен

#25 2014.09.28 00:10

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Запись ко всем строкам

нету програмы


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.025 s