我正在尝试将数据插入我的Azure数据库,但是我一直收到此错误:
Failed to execute query. Error: Unclosed quotation mark after the character string '
you'.
Incorrect syntax near '
you'.
我要插入到数据库中的唯一代码如下:
SET IDENTITY_INSERT [dbo].[Articles] ON
GO
INSERT [dbo].[Articles] ([Id], [Title], [Description], [Thumbnail], [VideoLink], [Developer], [Publisher], [ReleaseDate], [PublishDate], [ReviewConsole], [Text], [Score]) VALUES (2, N'Donkey Kong 64', N'My mighty review of the Guinness World Record-setting Donkey Kong 64.', N'DK64.png', N'eXlRymN6uxM', N'Rare', N'Nintendo', N'11/22/1999', N'2/15/2016', N'N64', N'
you go ', 7)
GO
奇怪的是,如果我将“随身携带”数据放在第二行,它就可以正常工作,但是由于我要移动2500多个,所以对于每一行执行该操作都非常繁琐。是否有发生此错误的原因?如果是,有没有简单的方法来消除该错误?
答案 0 :(得分:2)
问题是换行符。有趣的是,如果它的varchar而不是nvarchar可以工作。但是这个简单的示例将失败:
declare @t table (t nvarchar(100))
insert @t values (n'
you go')
select * from @t
这将起作用(请注意,它不再插入为nvarchar)
declare @t table (t nvarchar(100))
insert @t values ('
you go')
select * from @t
答案 1 :(得分:0)
回答不正确,所以我将在这里回答。您要插入的字段包含诸如“我想去”之类的文本,该文本以一种形式或另一种形式用单引号引起来。您需要逃避这些。您可以使用字符串替换功能,以便在插入数据库时将“我想去”变成“我想去”。在DB内部,它将以“我想去”的形式输入,即没有双引号。