Как сгенерировать и вручную вставить уникальный идентификатор в sql-сервер?
Привет всем, я пытаюсь вручную создать нового пользователя в моей таблице, но невозможно создать тип «UniqueIdentifier» без исключения исключения …
Вот мой пример:
DECLARE @id uniqueidentifier SET @id = NEWID() INSERT INTO [dbo].[aspnet_Users] ([ApplicationId] ,[UserId] ,[UserName] ,[LoweredUserName] ,[LastName] ,[FirstName] ,[IsAnonymous] ,[LastActivityDate] ,[Culture]) VALUES ('ARMS' ,@id ,'Admin' ,'admin' ,'lastname' ,'firstname' ,0 ,'2013-01-01 00:00:00' ,'en') GO
Trow exception -> Msg 8169, Level 16, State 2, Line 4 Не удалось преобразовать символьную строку в uniqueidentifier.
- Создайте GUID из строковых значений и затем (де-Build) их?
- Использование uniqueidentifier с предложением IN в SQL-сервере
- Увеличение уникального идентификатора в TSQL
- Преобразование строки в uniqueidentifier в VBScript
- SQL Server: поиск всех таблиц для определенного GUID
Я использую метод NEWID (), но это не работает …
http://www.dailycoding.com/Posts/generate_new_guid_uniqueidentifier_in_sql_server.aspx
- TSQL Сравнение двух значений уникального идентификатора не работает должным образом
- Сравнить Varchar и UniqueIdentifier
- От varchar (36) до UNIQUEIDENTIFIER
- первичный ключевой тип данных в базе данных SQL Server
- Как получить таблицу ROWGUIDCOL в таблице SQL Server 2000?
- Преимущества для Guid Field над nvarchar содержат Guid?
- Изменение основных ключей GUID для целых первичных ключей
- Гарантирование неиспользования ключей IDENTITY
ApplicationId должен быть типа UniqueIdentifier
. Ваш код отлично работает, если вы это сделаете:
DECLARE @TTEST TABLE ( TEST UNIQUEIDENTIFIER ) DECLARE @UNIQUEX UNIQUEIDENTIFIER SET @UNIQUEX = NEWID(); INSERT INTO @TTEST (TEST) VALUES (@UNIQUEX); SELECT * FROM @TTEST
Поэтому я бы сказал, что можно с уверенностью предположить, что ApplicationId
не является правильным типом данных.
Пожалуйста, проверьте тип столбца ApplicationId в таблице aspnet_Users, тип данных столбца ApplicationId должен быть uniqueidentifier.
* Ваш порядок параметров передан неправильно, параметр @id должен быть передан как первый аргумент, но в вашем скрипте он помещается во второй аргумент. , *
Поэтому возникает ошибка.
Пожалуйста, ссылайтесь на образец сценария:
DECLARE @id uniqueidentifier SET @id = NEWID() Create Table #temp1(AppId uniqueidentifier) insert into #temp1 values(@id) Select * from #temp1 Drop Table #temp1