Конкатенация второй строки в строку, уже содержащую строку - PullRequest
0 голосов
/ 12 июля 2010

У меня есть процесс PHP, запущенный в результате запроса JavaScript AJAX, который потенциально выполняется некоторое время и время от времени будет генерировать данные. С точки зрения удобства использования я хотел бы иметь возможность возвращать данные в JavaScript, как только они будут получены, но это представляется невозможным.

Мой обходной путь - записать его в базу данных SQLite и использовать другой PHP-скрипт, который выполняется, скажем, раз в секунду (в результате другого AJAX-запроса), чтобы взять данные, полученные до сих пор, и вернуть их, что позволяет пользователю своевременно получать информацию о ходе работы.

Таким образом, предполагая, что это разумный подход, средство записи данных должно иметь возможность добавлять строку к уже существующему содержимому строки. Я не очень хорошо знаю SQL, но, похоже, работает следующее:

create table str_table (mystr string);
insert into str_table (mystr) values ("first part of string.");
update str_table set mystr = ((select mystr from str_table) || " Second part of string.");

Есть ли более прямой способ присоединиться к mystr?

Программа чтения данных должна получить содержимое mystr, а затем очистить его. Я думаю, я могу сделать:

begin transaction
select mystr from str_table;
update str_table set mystr = null;
end transaction

но возможно ли это сделать в одном выражении?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 июля 2010

Вы должны использовать простой запрос ОБНОВЛЕНИЕ. Конкатенация дополнительных данных в поле может быть выполнена следующим образом:

UPDATE table SET field = field || " Second part of string."

Это добавит «Вторая часть строки». в столбец поля, для каждой строки в указанной вами таблице.

0 голосов
/ 12 июля 2010

UPDATE-запрос является правильным способом сделать это, и в SQL нет способа получить и установить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...