2010-07-25 3 views

답변

3

언제든지 SELECT last_insert_id() 쿼리를 사용할 수 있습니다.

-1

왜 필요한가요? ActiveRecord를 최대한으로 사용하지 않을 가능성이 있습니다. 그러나 @record.id에 액세스하여 생성 된 레코드의 ID에 액세스 할 수 있습니다.

내가 레일에 일반 SQL 구문을 사용하지 않는 것이 좋습니다 ...

업데이트 : 죄송합니다, 당신이 실제로 액티브를 사용하지 않을 수 있습니다 깨달았다. 물론 제안 된 SELECT 구문을 사용하는 것이 가능합니다 (그리고이 값을 얻는 올바른 방법입니다). 개인적으로, 나는 아직도 ActiveRecord를 사용하는 것을 선호합니다.

9

그것은 MySQL의 연결이 객체에 의해 포장되는 것을 제외하고는 거의 루비에서 동일합니다 라이브러리 인 것을 사용할 수 트로프 젬 (gem install mysql)

require 'mysql' 
db = Mysql.connect(hostname, username, password, databasename) 
db.execute("INSERT INTO mytable VALUES 1,2,3"); 
db.insert_id 
# => last inserted id 

은 '보통 당신이 돈

http://www.tmtm.org/en/mysql/ruby/ 참조 그런 일을하고 ActieRecord, DataMapper, Sequel, DBI 등과 같은 SQL 추상화 라이브러리에 의존합니다 ...이 모든 메소드는 사용 가능하지만 다른 모듈 아래에 있습니다.

+0

나는 방법이 조금 바뀌 었다고 생각한다. 이제는'db.last_id'입니다. –

관련 문제