mysql插入多行是部分保存的数据

时间:2013-04-24 17:19:07

标签: mysql

假设我有这样的查询

INSERT INTO mytable(`title`, `name`) VALUES  // row1
(`title1`, `name1`), // row 2
(`title2`, `name2`), // row 3
(`title3`, `name3 is too long for the table corresponding field`); // row 4

并尝试保存到db中我收到类似data truncated for column name的错误,所以我想询问行(第2行和第3行)和/或第3行的title字段是否会保存在该表,或者在出现此错误的情况下,不会保存任何数据(如果首先“先检查”是否可以正确保存所有数据,然后尝试保存) 感谢

1 个答案:

答案 0 :(得分:1)

在mysql 5.6.13中,以下SQL无法插入任何记录:

INSERT INTO mytable(title, name) VALUES 
('title1', 'name1'), 
('title2', 'name2'), 
('title3', 'name3 is too long for the table corresponding field');

如果您希望截断数据并插入所有三个记录,请使用“IGNORE”:

INSERT IGNORE INTO mytable(title, name) VALUES 
('title1', 'name1'), 
('title2', 'name2'), 
('title3', 'name3 is too long for the table corresponding field');