Ошибка: незакрытая кавычка после символьной строки 'на строке, в которой явно не пропущены кавычки - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь вставить данные в базу данных 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 для перемещения. Есть ли причина этой ошибки, и если да, то есть ли простой способ избавиться от нее?

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Не правильно ответил, поэтому я отвечу здесь. Вы вставляете поля, которые содержат текст, такой как «Я хотел бы пойти», который является одинарной кавычкой в ​​той или иной форме. Вам нужно избежать этого. Вы можете использовать функцию замены строки, чтобы «Я хотел бы пойти» стал бы «Я хотел бы пойти», когда вы вставляете в БД. Внутри БД он будет выглядеть как «Я бы хотел», то есть без двойных кавычек.

0 голосов
/ 30 августа 2018

Проблема в разрыве строки. Интересно это работает, если его 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...