그래서 한 번에 몇 개의 삽입을 수행하려고합니다. 이는 서로에 대해 상호 의존적입니다. 내가 개 평가 웹 사이트를 운영한다고 가정 해 보겠습니다. 누구든지 내 데이터베이스에 개를 추가 할 수 있지만 그렇게함으로써 강아지의 예비 등급을 추가해야합니다. 나중에 다른 사람들이 개를 평가할 수 있습니다. 평가를받는 개는 다 대일 관계입니다 : 개는 여러 등급을가집니다.Codeigniter/mySQL 질문. 실제 삽입 전에 여러 삽입이 가능한지 확인
이것은 내 예비 환자에게 개를 평가하고 추가하기 때문에 평가를 받고 개의 기본 키에 외래 키를 설정해야합니다. 내가 아는 한, 이것은 실제로 내가 개를 추가 한 다음, 그 새 추가 키의 기본 키가 무엇인지 확인한 다음 삽입 전에 내 레이팅에 넣어야한다는 것을 의미합니다.
등급의 삽입물에 뭔가 잘못되었다고 생각해보십시오. 너무 길거나 내가 간과 한 것입니다. 평가가 실패하면 개는 이미 삽입되었지만 평가는 반영되지 않았습니다. 이 경우 개가 처음에는 추가되지 않았 으면합니다.
"등급이 떨어지면 개를 제거하십시오"라는 코드를 작성해야합니다. 그렇지 않으면 모든 것이 계획대로 진행될 때 키가 개가 될지 예측할 수있는 방법이 있습니다. "그 자리를 잡아라."라고 말할 수있는 방법이 있습니까? 그리고 모든 것이 작동하면 추가하십시오.
도움을 주시면 감사하겠습니다. 감사!!
올바른 테이블 유형 (innoDb ... 등)이있는 경우에만 작동합니다. – SeanJA
수정 된 답변으로이 지점을 분명하게 만듭니다. – Finbarr
그래서 질문 : 이렇게하면 모델을 사용할 수 없습니까? 몇 가지 테이블에 인서트를 실행하고 있지만 모두 동일한 DB에 있습니다. $ dog_db = $ this-> load-> database ('dog', true)와 비슷한 것을 할 수 있습니까? $ dog_db-> trans_start(); if (! $ this-> dogs-> insert ($ dog)) $ dog_db-> trans_rollback(); else $ dog_db-> trans_commit(); – Ethan