gpt4 book ai didi

sql-server - 尾随空格作为 SQL Server 2008 中的主键的 Varchar

转载 作者:行者123 更新时间:2023-12-04 02:24:28 24 4
gpt4 key购买 nike

是否可以将 varchar 列作为主键,其值类似于“a”和“a”,在 MS SQL Server 2008 中总是会出现此错误“违反 PRIMARY KEY 约束”。
在 Oracle 中不会给出任何错误。
顺便说一句,我不是这样实现的,我只是想将数据从 oracle 迁移到 sql server。

问候

最佳答案

SQL-92 标准规定,为了字符串比较目的,字符串在比较之前被填充为相同的长度:通常填充字符是一个空格。

因此,'a' 和 'a' 比较 EQUAL,这违反了 PK 约束。
http://support.microsoft.com/kb/316626

从那时起,我找不到任何迹象表明这种行为发生了变化。

您可能会使用 varbinary 而不是 varchar ,但这也可能无法满足您的要求。

关于sql-server - 尾随空格作为 SQL Server 2008 中的主键的 Varchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1979764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com