我正在尝试将记录从一个数据库复制到另一个数据库并按类型缩小它们。也就是说,将复制所有类型为“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。
答案 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';
一种可能性是在两个表中以不同的顺序创建列,因此这可以确保正确的数据转到右列。
如果这不起作用,请检查每个表中所有列的类型,以确保它们是相同的。