假设我有这样的查询
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
字段是否会保存在该表,或者在出现此错误的情况下,不会保存任何数据(如果首先“先检查”是否可以正确保存所有数据,然后尝试保存)
感谢
答案 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');