炯辰 2019-05-07 11:05 采纳率: 100%
浏览 298
已采纳

将表A中的a列(字符串类型实际长度不定)拆解并且插入到表B的多列中

请教大神:
将表A中的ValuesInfoStr列(字符串类型实际长度不定)拆解并且插入到表B中
判断表A中ValuesInfoStr列中是否有与表B中列名一致的列,如果有就将:后面的值插入到本列
如果没有就创建列插入
表A中ValuesInfoStr列的内容(但是内容不固定): DetectorCode:551,DetectorCount:552,DetectorState1:553,DetectorConcentration1:554,DetectorState2:555,DetectorConcentration2:556,FanCode:557,FanCount:558,FanState1:559,FanState2:5510,ValveCode:5511,ValveCount:5512,ValveState1:5513,ValveState2:5514
表B中有多数可以对应的列如图
图片说明

谢谢了,

  • 写回答

1条回答 默认 最新

  • Hefei19881002 2019-05-07 12:05
    关注
    先把ValuesInfoStr列逗号切再按冒号切   
    然后拿到另一个表所有列名 
    SELECT GROUP_CONCAT(COLUMN_NAME SEPARATOR ",") FROM information_schema.COLUMNS 
    WHERE TABLE_SCHEMA = 'db_name' AND TABLE_NAME = 'table_name'
    没有的列利用sql去添加
    最后拼接sql插入
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?