2010-04-19 4 views

답변

2

Dataset#insert documentation에 따르면 insert()의 반환 값은 일반적으로 삽입 된 행의 기본 키이지만 사용하는 어댑터에 따라 다릅니다.

1

나는 SQL-Server와 uniqueidentifier를 사용해 보았지만 성공하지 못했습니다. uniqueidentifier는 리턴되지 않습니다. 나의 정의에서

추출 :

CREATE TABLE [dbo].[MyTable](
    [ID] [uniqueidentifier] NOT NULL, 
    [Data] [nvarchar](255) NULL 
) 
ALTER TABLE [dbo].[MyTable] ADD DEFAULT (newid()) FOR [ID] 

내가 속편에 삽입 :

DB[:MyTable].insert(:Data => 'data') 

데이터 세트는 고유 식별자와 함께 추가되지만 리턴 코드를 데이터 집합 번호 삽입이 nil 경우.

DB[:MyTable].insert(:ID => Sequel.function(:newid), :Data => 'data') 

는 동일한 결과를 얻을.

나는
key = Sequel.function(:ID) 
DB[:MyTable].insert(:ID => key, :Data => 'data') 

을 시도했지만 '키'는 함수 호출이 아닌 값입니다. Sequel.function(:ID).f을 사용하면 "잘못된 열 이름 ID '가 표시됩니다."

class MyTable < Sequel::Model(:MyTable); end 
entry = MyTable.create(:Data => 'data') 
$uniqueidentifier = entry[:ID] 
: 당신이 모델을 사용하는 경우
-error

는 단, 당신은 고유 식별자를 얻을 수

관련 문제