在MS SQL Server 2005中是否有mysql的INSERT IGNORE等价物?在MS SQL Server 2005中插入IGNORE?
3
A
回答
2
你可以使用INSTEAD OFtrigger来实现类似这样的事情,拦截默认的插入操作以执行检测到现有行的更新。与MySql的变体不同,但更灵活。
-2
我不知道你的申请是什么 - 也许REPLACE
可以帮助?!
2
我不熟悉mysql INSERT IGNORE功能,但我正在阅读的文档听起来像它所做的一切都是忽略(无提示失败)尝试插入带有表中已存在的主键的记录。
如果这是您要查找的内容,SQL Server具有类似的功能,但您在创建时必须将其应用于主键或唯一约束。
阅读关于the IGNORE_DUP_KEY option的独特索引。
+1
不幸的是,它不工作,因为我认为它会。它不会发出错误,但会给出警告,这也不是我的解决方案。 – JohnM2 2010-05-03 20:04:35
0
我会说你有两个可行的方案:
一个是你尝试之前过滤掉错误的价值观。也许增加一个where子句就像:
WHERE newValues NOT IN (SELECT pk_col FROM yourTable)
或者你可以使用try-catch,试试这个:
BEGIN TRY
INSERT INTO yourTable(pk_col,other_date)
SELECT 'PK Value That Already Exists','saflaksdfj'
END TRY
BEGIN CATCH
--You can choose to do anything in response to an error like nothing!
END CATCH
相关问题
- 1. 插入到SQL Server 2005中
- 2. SQL Server 2005插入图像
- 3. 在SQL Server 2005中批量插入?
- 4. 无法插入大不列颠英镑在MS SQL Server 2005
- 5. 在MS SQL Server 2005中不支持OVER?
- 6. MS SQL Server 2005的sp_stored_procedures
- 7. 为MS SQL Server 2005的
- 8. 批量插入到SQL Server 2005中
- 9. Sql Server 2005 - 插入如果不存在
- 10. 如何在SQL Server 2005中插入(更新或插入)
- 11. 如何在Visual Studio中插入插入/ SQL Server 2005
- 12. 重命名MS SQL Server 2005中的列
- 13. MS SQL Server 2005中 - 将类似数据
- 14. 从MS SQL Server 2005中选择数据
- 15. MS SQL Server 2005中的存储过程
- 16. SQL查询,通配符,MS SQL SERVER 2005
- 17. SQL Server 2005与外键冲突插入
- 18. SQL Server 2005 - 大容量插入问题
- 19. 批量插入到SQL Server 2005问题
- 20. SQL Server 2005的批量插入
- 21. SQL Server 2005批量更新或插入
- 22. SQL Server 2005 - 批量插入失败
- 23. SQL Server 2005/2008:在Transact-SQL的varbinary(max)列中插入文件
- 24. 加入 - SQL Server 2005中
- 25. 自加入SQL Server 2005中
- 26. 在SQL Server 2005中
- 27. SQL和加入SQL Server 2005
- 28. 找到最后插入MS SQL SERVER
- 29. 多行插入MS Sql Server使用C#
- 30. 从SQL Server 2005导入查询的结果集到MS Excel中
除了文本替换MS SQL Server没有这样的功能。有一个MERGE,但只有SQL2008。 – 2010-05-03 19:20:50