他のテーブルの情報に基づいてテーブルに行を挿入/更新する必要があります。私は例を挙げて、私の下の要件を説明します。表の下分割され、MySQLの新しいテーブルに挿入/更新される文字列を持つ列のストアドプロシージャ
私は更新したい場所/ Iは、データをコピーし、それをテーブルにインポートしたい場所をTAB1表の下
tab1_id | tab1_question_id | tab1_sectorID | tab1_NC_id
1 | 101 | 11 | 21
があるテーブルのテーブル名の既存のデータに基づいてデータを挿入していますtab1の
tab2_id | tab2_question_id | tab2_sectorID | tab2_NC_ids |import_complete
1 | 101 | 11 | 21,22,23 | 0
2 | 102 | 11 | 22,23,24 | 0
3 | 103 | 11 | 22,24,25 | 0
- tab2_NC_idsは異なるNCのカンマで区切っての値を持ちます。今私はこれらの値をtab1テーブルに挿入しようとしています。 TAB1に例えば はをquestion_idとNC_id 既に存在しています。だから、その行は、私は TAB1の既存のデータに基づいて、各行を TAB2からNC_idsを分割し、挿入/更新したく同じquestion_idとNC_id
- と重複してはなりません。
この質問では、値を分割しようとするだけでなく、分割してリレーションを維持したまま新しいテーブルに値を割り当てます。これは動的に行う必要があります。
これをどのように達成できますか?上記のためにMySQLでストアドプロシージャを作成しようとしていますが、NC_idsがコンマで連結されているため、解決策が見つかりませんでした。どんな助けも素晴らしいだろう、ありがとう。
ヒント削除:normilizeは、新しいテーブルにカンマ区切りの値で動作いけません。 –
[Mysqlを分割することはできますか?](https://stackoverflow.com/questions/1096679/can-mysql-split-a-column) –