MySQL插入表中不插入所有字段

时间:2014-04-04 20:54:17

标签: mysql

我在MySql DB中有2个现有表。表格具有相同的结构。我想将数据从表复制到另一个。

insert into `Table1`
select * from Table2
where department = "engineering"

上面的代码似乎工作正常,除了1列之外,它正确地复制了数据。 “部门”专栏没有复制,所以它是空白的。所有其他字段似乎都正确地复制了所有记录。

导致这种情况的原因是什么?正如我所提到的,两个表都具有相同的结构,相同数量的列和所有内容......

有什么想法吗?

注意:我刚刚意识到实际上有两列没有复制。 “部门”和“类别”字段空白。所以基本上当我将表2中的数据插入到表1中时,14列中的12列成功复制,但是有2列保持空白。

Below是Table1和Table2的DESCRIBE

enter image description here

当我在两个表上进行描述时,我能看到的唯一区别是,所讨论的2个字段的数据类型为枚举(.....),但它们在括号之间存在差异。这可能导致问题,如果是这样,有一个简单的方法吗?我想我可能必须在执行初始插入后执行更新查询,该插入将通过加入ID字段将表2中的“部门”和“类别”字段引入表1。

1 个答案:

答案 0 :(得分:3)

来自文档:

  

如果在ENUM中插入无效值(即不是字符串   出现在允许值列表中),空字符串是   而是作为特殊错误值插入。

了解ENUM