我无法从DB中删除此行,因为未闭合的引号。我怎么逃避它。我尝试使用反斜杠但没有工作。
当我尝试从名为='Àrbatax'的dbo.Cities中删除删除时;我得到(0行(s)受影响)即使在DB 12行存在。无法识别的问题À
的问题Delete from dbo.Cities where name = 'Ra's al Khaymah';
Delete from dbo.Cities where name = 'Cala de s'Algar';
Delete from dbo.Cities where name = 'Monte Sant'Angelo';
Delete from dbo.Cities where name = 'San Pawl il-Baħar';
Delete from dbo.Cities where name = 'Santa Eulària des Riu';
Delete from dbo.Cities where name = 'São Luís';
Delete from dbo.Cities where name = 'Platja d'Aro';
Delete from dbo.Cities where name = 'Cefalù';
Delete from dbo.Cities where name = 'Lun-Pequeño';
Delete from dbo.Cities where name = 'Àrbatax';
Delete from dbo.Cities where name = 'Breña Baja';
答案 0 :(得分:7)
将T-SQL中的单引号翻倍:
Delete from dbo.Cities where name = 'Ra''s al Khaymah';
答案 1 :(得分:5)
对于单引号我相信你可以加倍报价:
Delete from dbo.Cities where name = 'Ra''s al Khaymah'
我不确定其他角色。
答案 2 :(得分:2)
如果您的字符串包含非ASCII字符,则需要使用Unicode引号N'':
Delete from dbo.Cities where name = N'Àrbatax';
答案 3 :(得分:1)
可能导致删除不起作用的一种可能解释是因为where子句中有特殊字符,并且在单引号分隔的字符串文字中有单引号。
第一步是检查一下
是列的数据类型
你有特殊的角色。如果
这些列的类型为char
或
varchar
您必须将其更改为
nchar
或nvarchar
。原因
这背后是char
和。{
varchar
不支持unicode
人物(换句话说是
特殊字符)。
有关nchar和nvarchar的信息:
第二步是修改代码
您正在使用删除数据。在
为了在字符串文字中包含单引号
在where子句中比较你
必须写两个单引号。
示例:Delete from dbo.Cities
where name = 'Ra''s al Khaymah';
。
我希望这有帮助!