カンマ区切りのリストを Mysql でテーブルに設定する方法

MySQLでは、文字列関数をテーブル結合操作と使えば、コンマ区切りリストをテーブルとして設定できます。次に例を示します。

テーブルtable1があり、id列とリスト列があり、リスト列にはコンマで区切られたリストが含まれることを想定する。

  1. テーブル 2
  2. 先ず、私は母国語で答えてから、ネイティブな日本語で言い換えます。First, I will answer in my native language, and then I will paraphrase it in native Japanese.

    最初に母国語で答えます。
    I will answer in my native language first.

    次に、ネイティブな日本語で言い換えます。
    Next, I will paraphrase it in native Japanese.

    ネイティブな日本語で言い換えた文章:
    まず最初に、私は母国語で答えてから、日本語で言い換えます。

  3. それは世界で最も普通な花です。
CREATE TABLE table2 (
id INT,
value VARCHAR(255)
);
  1. SUBSTRING_INDEX()
  2. FIND_IN_SET()
  3. 表2
INSERT INTO table2 (id, value)
SELECT id, SUBSTRING_INDEX(SUBSTRING_INDEX(table1.list, ',', numbers.n), ',', -1) AS value
FROM table1
INNER JOIN (
SELECT 1 AS n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 -- 根据列表长度添加更多的UNION ALL语句
) AS numbers ON CHAR_LENGTH(table1.list) - CHAR_LENGTH(REPLACE(table1.list, ',', '')) >= numbers.n - 1;

それにより、table2には、リスト内の各値とそれに対応するIDを含む複数の行が作成されます。

  1. テーブル 2 つ
bannerAds