有没有办法部分插入类似于
的语句INSERT INTO Classes (ID, Name, Subject)
VALUES (1, 'John', 'Math'),
(2, 'Chris', 'English')
(3, 'Chris', 'Mathematics')
鉴于上述陈述,如果类中的Subject是varchar(10),则由于数学有11个字符,整个语句将失败。我希望成功的插入继续进行,失败的插入被忽略,或者更好地记录在一个单独的表中。
有没有办法做到这一点?目前,该应用程序一次执行一个插入,从平面文件读取。有时这些文件有100,000多条记录。最后,我想在插入数据库之前在应用程序中进行数据验证,但这种更改不会被批准一段时间。同时,我可以尝试通过连接VALUES集来批量执行此操作,但如果其中任何一个失败,则整个语句都会失败。
答案 0 :(得分:0)
在单个插入命令中无法部分插入。
部分插入的方式是编写单独的插入语句:
INSERT INTO Classes (ID, Name, Subject) VALUES (1, 'John', 'Math'); -- 通过
INSERT INTO Classes (ID, Name, Subject) VALUES (2, 'Chris', 'English'); -- 通过
INSERT INTO Classes (ID, Name, Subject) VALUES (3, 'Chris', 'Mathematics'); -- 刹车