1

假设我有这样的查询

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

并尝试保存到数据库中,我得到了类似的错误data truncated for column name,所以我想问一下行(第 2 行和第 3 行)和/或第三行的title字段是否将保存在表中,或者如果出现此错误,则不会有数据已保存(以防万一,首先“检查”所有数据是否可以正确保存,然后尝试保存)谢谢

4

1 回答 1

2

在 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');
于 2013-10-03T20:11:32.337 回答