Ошибка конверсии при преобразовании из символьной строки в uniqueidentifier – два идентификатора GUID

Вопрос:Я не понимаю, почему я не могу вставить это. Я не вижу проблемы. Сообщение об ошибке Ошибка конверсии при преобразовании из символьной строки в uniqueidentifier. GUID - это те, которые я получил, когда я сделал выбор из некоторых других таблиц. insert into [db].[dbo].[table] (myid,friendid,time1,time2) values ( CONVERT(uniqueidentifier,'0C6A36BA-10E4-438F-BA86-0D5B68A2BB15'), CONVERT(uniqueidentifier,'DF215E10-8BD4-4401-B2DC-99BB03135F2E'), '2014-01-05 02:04:41.953','2014-01-05 12:04:41.953') Я использую SQL Server

Вопрос:

Я не понимаю, почему я не могу вставить это. Я не вижу проблемы. Сообщение об ошибке
Ошибка конверсии при преобразовании из символьной строки в uniqueidentifier.

GUID – это те, которые я получил, когда я сделал выбор из некоторых других таблиц.

insert into [db].[dbo].[table] (myid,friendid,time1,time2) values ( CONVERT(uniqueidentifier,’0C6A36BA-10E4-438F-BA86-0D5B68A2BB15′), CONVERT(uniqueidentifier,’DF215E10-8BD4-4401-B2DC-99BB03135F2E’), ‘2014-01-05 02:04:41.953′,’2014-01-05 12:04:41.953’)

Я использую SQL Server 2012

Столбцы

id uniqueidentifier, myid uniqueidentifier, friendid uniqueidentifier, time1 datetime nullable, time2 datetime nullable Лучший ответ:

Проблема заключалась в том, что столбец идентификатора не получал никакого значения. Я видел на @Martin Smith SQL Fiddle, что он объявил столбец идентификатора с DEFAULT newid, и я не..

Ответ №1DECLARE @t TABLE (ID UNIQUEIDENTIFIER DEFAULT NEWID(),myid UNIQUEIDENTIFIER , friendid UNIQUEIDENTIFIER, time1 Datetime, time2 Datetime) insert into @t (myid,friendid,time1,time2) values ( CONVERT(uniqueidentifier,’0C6A36BA-10E4-438F-BA86-0D5B68A2BB15′), CONVERT(uniqueidentifier,’DF215E10-8BD4-4401-B2DC-99BB03135F2E’), ‘2014-01-05 02:04:41.953′,’2014-01-05 12:04:41.953’) SELECT * FROM @t

Набор результатов Без каких-либо ошибок

╔══════════════════════════════════════╦══════════════════════════════════════╦══════════════════════════════════════╦═════════════════════════╦═════════════════════════╗ ║ ID ║ myid ║ friendid ║ time1 ║ time2 ║ ╠══════════════════════════════════════╬══════════════════════════════════════╬══════════════════════════════════════╬═════════════════════════╬═════════════════════════╣ ║ CF628202-33F3-49CF-8828-CB2D93C69675 ║ 0C6A36BA-10E4-438F-BA86-0D5B68A2BB15 ║ DF215E10-8BD4-4401-B2DC-99BB03135F2E ║ 2014-01-05 02:04:41.953 ║ 2014-01-05 12:04:41.953 ║ ╚══════════════════════════════════════╩══════════════════════════════════════╩══════════════════════════════════════╩═════════════════════════╩═════════════════════════╝ Ответ №2

Документация MSDN Здесь

Чтобы добавить немного контекста в M.Ali Answer, вы можете преобразовать строку в уникальный идентификатор, используя следующий код

SELECT CONVERT(uniqueidentifier,’DF215E10-8BD4-4401-B2DC-99BB03135F2E’)

Если это не работает, убедитесь, что вы ввели допустимый GUID

Ответ №3

Вам нужно проверить уникальный столбец идентификатора, и вы должны указать значение diff этому конкретному полю, если вы дадите то же значение, что он не будет работать. Он обеспечивает уникальность ключа.

Вот код:

Insert into production.product (Name,ProductNumber,MakeFlag,FinishedGoodsFlag,Color,SafetyStockLevel,ReorderPoint,StandardCost,ListPrice,Size ,SizeUnitMeasureCode,WeightUnitMeasureCode,Weight,DaysToManufacture, ProductLine, Class, Style , ProductSubcategoryID ,ProductModelID ,SellStartDate ,SellEndDate ,DiscontinuedDate ,rowguid ,ModifiedDate ) values (‘LL lemon’ ,’BC-1234′,0,0,’blue’,400,960,0.00,100.00,Null,Null,Null,null,1,null,null,null,null,null,’1998-06-01 00:00:00.000′,null,null,’C4244F0C-ABCE-451B-A895-83C0E6D1F468′,’2004-03-11 10:01:36.827′)

Оцените статью
Добавить комментарий