2016-07-19 10 views
-1

У меня уже была таблица с именем a, которая имеет столбец с именем b. Тип b является уникальным идентификатором. Я хочу вставить что-то в эту колонку. Однако SQL заявление, как:Как вставить уникальный указатель в таблицу с помощью SQL-сервера?

insert into a (b) 
values ('73C9B60E-27E4-4523-82A3-6992312348AE') 

терпит неудачу. Как я могу решить проблему? Спасибо.

+0

Это, кажется, хорошо для меня, Добавить сообщение об ошибке –

+0

"сбой" - терпит неудачу ** как **? вы получаете '0 строк вставлены'? Или * сообщение об ошибке *? Если это ошибка, что это ** говорит **? –

ответ

0

Уникальный идентификатор - это, по сути, GUID, поэтому вы должны форматировать входные данные как один. Формат для GUID: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. В SQL вы можете оставить круглые скобки. Дополнительную информацию о GUID см. В разделе this wiki page.

+0

У меня уже есть указатель типа «73C9B60E-27E4-4523-82A3-699239A478AE». Как его вставить? – kunyang

+0

Хорошо, это было не очень понятно из вашего вопроса. Какая ошибка вы получаете? – martennis

0

Вы можете создать GUID в сервере SQL, как:.

select newid(); 

У меня уже есть Guid как '73C9B60E-27E4-4523-82A3-699239A478AE', Как я могу вставить его?

Это было не ясно из вашего вопроса ... но вы могли бы сделать:

create table #test (myGuid uniqueidentifier) 

insert into #test (myGuid) 
select convert(uniqueidentifier, '73C9B60E-27E4-4523-82A3-699239A478AE') 

drop table #test 
+0

У меня уже есть руководство, и вам не нужно создавать новый. – kunyang

+0

'aaaaaaa' не является допустимым' uniqueidentifier'. 'Uniqueidentifiers' являются' uniqueidentifiers'. вам нужно вставить в столбец 'b' соответствующий тип. 'newid()' - способ получить соответствующий тип – Kritner