как ввести значения в столбце rowguid? - PullRequest
5 голосов
/ 12 апреля 2010

Может кто-нибудь сказать, пожалуйста, правильный способ вставки значений в столбце rowguid таблицы? Я использую sql server management studio

Ответы [ 5 ]

6 голосов
/ 12 апреля 2010

используйте функцию NEWID() для генерации:

CREATE TABLE myTable(GuidCol uniqueidentifier
                    ,NumCol int)
INSERT INTO myTable Values(NEWID(), 4)
SELECT * FROM myTable

или вы можете установить его как значение по умолчанию:

CREATE TABLE myTable(GuidCol uniqueidentifier DEFAULT NEWSEQUENTIALID()
                    ,NumCol int)
INSERT INTO myTable (NumCol) Values(4)
SELECT * FROM myTable
3 голосов
/ 12 апреля 2010

Вы можете установить NEWSEQUENTIALID () по умолчанию в таблице

CREATE TABLE GuidTable
(
ID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID() PRIMARY KEY,
TEST INT
)

Подробнее об этом здесь

http://msdn.microsoft.com/en-us/library/ms189786.aspx

2 голосов
/ 12 апреля 2010

Это уникальный идентификатор столбец

Вы можете отправить значение, например «6F9619FF-8B86-D011-B42D-00C04FC964FF», или использовать функции NEWID / NEWSEQUENTIALID для создания одной

1 голос
/ 31 июля 2012

Я смог вставить с помощью следующего:

Вставить в таблицу FOO (Col1, Col2, RowGuidCol)

Значения (5, «Здравствуйте», 1A49243F-1B57-5848-AA62-E4704544BB34 ')

Очень важно следовать, чтобы поместить тире в правильное место. Вам не нужно иметь 0x в начале строки. FYI-обновления не разрешены для столбцов с набором свойства rowguid col. Надеюсь, это поможет.

0 голосов
/ 12 апреля 2010

Предполагая, что в вашей таблице есть столбец уникального идентификатора rg t , для которого задано значение rowguid:

INSERT INTO TABLE t (rg) VALUES (NEWID())

или

INSERT INTO TABLE t (rg) VALUES (NEWSEQUENTIALID())
...