如何在数据库中选择记录并将其插入到MySQL中的另一个记录中?

时间:2014-02-18 02:01:43

标签: mysql mysql-workbench

我正在尝试将记录从一个数据库复制到另一个数据库并按类型缩小它们。也就是说,将复制所有类型为“Holiday”的记录。但是,当我运行此语句时,出现错误。

MySQL声明:

INSERT INTO nfb_events.nfb_events(`ID`, `Name`, `Type`, `Host`, `Location`, `Date`, `StartTime`, `EndTime`, `Description`)
SELECT * FROM eagles_events.eagles_events WHERE `Type`="Holiday";

错误:

Error Code: 1265. Data truncated for column 'Type' at row 1

我不明白; “类型”记录是一个长度仅为10个字符的Varchar。我正在使用MySQL Workbench。

1 个答案:

答案 0 :(得分:0)

我首先明确命名select *

中的列
INSERT INTO nfb_events.nfb_events(`ID`, `Name`, `Type`, `Host`, `Location`, `Date`,
                                  `StartTime`, `EndTime`, `Description`)
    SELECT `ID`, `Name`, `Type`, `Host`, `Location`, `Date`, `StartTime`, `EndTime`, `Description`
    FROM eagles_events.eagles_events
    WHERE `Type`= 'Holiday';

一种可能性是在两个表中以不同的顺序创建列,因此这可以确保正确的数据转到右列。

如果这不起作用,请检查每个表中所有列的类型,以确保它们是相同的。