【问题标题】:Concatenating a second string to a row already containing a string将第二个字符串连接到已经包含字符串的行
【发布时间】:2010-07-12 12:22:31
【问题描述】:

我有一个由于 JavaScript AJAX 请求而运行的 PHP 进程,它可能会运行一段时间,并且会不时产生数据。从可用性的角度来看,我希望能够在生成数据后立即将数据返回到 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 中?

data-reader 需要获取 mystr 的内容,然后清除它。我想我能做到:

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

但是否可以在单个语句中做到这一点?

谢谢。

【问题讨论】:

    标签: php string sqlite concatenation


    【解决方案1】:

    UPDATE 查询是执行此操作的正确方法,并且没有办法在 SQL 中获取和设置。

    【讨论】:

      【解决方案2】:

      您应该使用简单的 UPDATE 查询。可以按如下方式将额外数据连接到字段:

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

      这将附加“字符串的第二部分”。到字段列,对于您指定的表中的每一行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-17
        • 2018-04-23
        • 2018-05-27
        • 2013-08-18
        • 2015-12-29
        • 2013-12-07
        • 1970-01-01
        • 2016-12-26
        相关资源
        最近更新 更多