3

質問は、文字列フィールドに連結して更新する方法ですか?

データベースを作成して 1 行追加するコードは次のとおりです。

CREATE DATABASE  my_db;                                                          
USE my_db;

CREATE TABLE IF NOT EXISTS my_table(
     article_id INTEGER unsigned,
     revision_ids VARCHAR(10),
     PRIMARY KEY (article_id)
);

INSERT INTO my_table (article_id, revision_ids) VALUES (1, "154");

文字列を Revision_ids フィールドに連結するコードを記述する必要があります。たとえば、「, 999」を「154」に連結する必要があるため、「154, 999」になります。私のバージョンのコードは動作しません:

UPDATE my_table SET revision_ids = CONCAT((SELECT revision_ids FROM my_table WHERE article_id = 1), ", ", "999") WHERE article_id = 1;

どうやってするの?

重要な条件が 1 つあります。理論的には、この連結は複数のスクリプトを実行できるため、更新中は誰もフィールド値を変更できないことが重要です。

4

3 に答える 3

6

必要なのはこれだけです。

UPDATE my_table SET revision_ids = CONCAT(revision_ids, ", ", "999") WHERE article_id = 1;
于 2012-09-18T02:19:25.233 に答える
2

私はあなたが直接これを行うことができると思います,

UPDATE my_table 
SET revision_ids = CONCAT(revision_ids, ', ', '999') 
WHERE article_id = 1;
于 2012-09-18T02:18:49.977 に答える
2

使用する:

UPDATE my_table SET revision_ids = CONCAT(revision_ids, ", 999") WHERE article_id = 1;
于 2012-09-18T02:20:02.580 に答える