Conversie is mislukt bij het converteren van een tekenreeks naar uniqueIdentifier – twee GUIDS

Ik begrijp niet waarom ik dit niet kan invoegen. Ik kan het probleem niet zien. Het foutbericht is
Conversie is mislukt bij het converteren van een tekenreeks naar unieke identiteit.

De GUIDS zijn degenen die ik heb toen ik een kies uit sommige andere tabellen heeft gedaan.

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')

Ik gebruik SQL Server 2012

De kolommen zijn

id        uniqueidentifier,
myid      uniqueidentifier,
friendid  uniqueidentifier,
time1     datetime nullable,
time2     datetime nullable

Antwoord 1, Autoriteit 100%

Het probleem was dat de ID-kolom geen waarde kreeg. Ik zag op @Martin Smith SQL Fiddle dat hij de ID-kolom heeft verklaard met DEFAULT newiden ik niet ..


Antwoord 2, Autoriteit 79%

MSDN Documentation HIER

Om een ​​bit van context toe te voegen aan M.Ali’s antwoord U kunt een tekenreeks converteren naar een unieke identifiel met behulp van de volgende code

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

Als dat niet werkt, controleert u of u een geldige GUID

hebt ingevoerd


Antwoord 3, Autoriteit 21%

DECLARE @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

resultaat instellen zonder fouten

╔══════════════════════════════════════╦══════════════════════════════════════╦══════════════════════════════════════╦═════════════════════════╦═════════════════════════╗
║                  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 ║
╚══════════════════════════════════════╩══════════════════════════════════════╩══════════════════════════════════════╩═════════════════════════╩═════════════════════════╝

Antwoord 4

U moet een unieke identificatiekolom controleren en u moet een diff-waarde geven aan dat specifieke veld als u dezelfde waarde geeft, het zal niet werken. Het houdt uniciteit van de sleutel.

Hier is de code:

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')

Other episodes