开发者

Concatenating a second string to a row already containing a string

I have a PHP process running as a result of a JavaScript AJAX request, which is potentially running for some time and will produce data from time to time. From a usability perspective, I'd like to be able to return data to the JavaScript as soon as it's produced, b开发者_JAVA百科ut this appears not to be possible.

My workaround is to write it to an SQLite database and have another PHP script that runs say once a sec (as a result of another AJAX request) to take the data produced so far and return that, thus allowing the user to be updated on progress in a more timely manner.

Assuming, then, that this is a reasonable approach, the data-writer needs to be able to append a string to the already existing contents of a row. I don't know SQL that well, but the following appears to work:

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.");

Is there a more direct way to append to mystr?

The data-reader needs to get the contents of mystr and then clear it. I guess I can do:

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

but is it possible to do that in a single statement?

Thanks.


An UPDATE query is the correct way to do it, and there is no way to get-and-set in SQL.


You should use a simple UPDATE query. Concatenating extra data to a field can be performed as follows :

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

This will append " Second part of string." to the field column, for every row in the table you specified.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜