我断言的原因是,带有“GIVEN”大小写设置的批量插入会失败,但使用另一种“Given”大小写设置会成功。
例如:
- INSERT INTO SomeTable([GIVEN],[COLNAME]) VALUES ("value1", "value2") 失败,但 - INSERT INTO SomeTable([Given],[ColName]) VALUES ("value1", "value2") 成功。
编辑: 刚看到这个: 那就意味着可以在不清空所有数据和重新创建相关表的情况下更改列的排序规则吗?
INSERT INTO SomeTable([GIVEN],[COLNAME]) VALUES (...)
失败了,但是INSERT INTO SomeTable([Given],[ColName]) VALUES (...)
成功了。如果是这样,那就涉及到定界符标识符(通常区分大小写)和排序规则(这个是不区分大小写的)之间非常微妙的交互领域。 - Jonathan LefflerCREATE TABLE "table" (...)
。它们用于当名称是关键字或包含通常不允许在标识符中使用的字符(如空格)时。在SQL Server中,定界标识符用方括号括起来:[GIVEN]
等。MySQL使用反引号来完成同样的工作。这就是为什么重要的原因是您必须向我们展示您正在使用什么。 SQL有一些晦涩难懂的部分(其中定界标识符处理就是其中之一),但当您遇到问题时,您必须学会如何使用它。 - Jonathan Leffler