首页 > 解决方案 > 如何用另一列填充一个表列 CONCAT join select from another table?

问题描述

我在 MySQL 中有 4 个表,分别命名为 tms_local.bms_material,tms_local.bms_title,tms_local.bms_course, tms_local.bms_courseinfo。</p>

我想用列值填充tms_local.bms_title表中的“thumbnail”列:</p>

SELECT 
GROUP_CONCAT(concat(ci.discipline_code, ci.code, " (" , ci.type , ")") SEPARATOR ', ')  FROM 
tms_local.bms_material m, 
tms_local.bms_title t, 
tms_local.bms_course c,
tms_local.bms_courseinfo ci
where t.id = m.book_id 
and c.id = m.course_id 
and ci.id = c.id
and  isbn != 'NA'
GROUP BY t.id;

我试过了:</p>

    INSERT INTO tms_local.bms_title (thumbnail)
SELECT GROUP_CONCAT(concat(ci.discipline_code, ci.code, " (" , ci.type , ")") SEPARATOR ', ')  FROM 
tms_local.bms_material m, 
tms_local.bms_title t, 
tms_local.bms_course c,
tms_local.bms_courseinfo ci
where t.id = m.book_id 
and c.id = m.course_id 
and ci.id = c.id
and  isbn != 'NA'
GROUP BY t.id;

但是mysql工作台错误说:创建的字段没有默认值

我该如何解决?</p>

标签: mysqlmysql-workbench

解决方案


推荐阅读