PHP/MySql 프로젝트에서 데이터베이스 행을 연결하는 방법을 찾는 데 어려움을 겪고 있습니다. 내 주문 제출 스크립트는 현재 정보를 분리하여 2 개의 테이블에 저장합니다.MySQL 테이블 관계/외래 키?
첫 번째는 "주문"이라고하며이 포함
두 번째는 "항목"이라고하며이 포함되어 있습니다$OrderId, $CustomerName, $CustomerEmail, $OrderTotal, $OrderTaxes
//and other infos about the ORDER
모든 구매하지 제품 정보를 정기적으로 :
$ProductId, $OrderedQty
//for each one and such...
그것은이 있어야한다을 "Items"테이블은 책임있는 명령의 부분 만 표시되는 다른 "부서"에서 검색 될 것이기 때문입니다. 그러나 그들은 모두 운송 목적으로 "주문"정보를 받아야합니다.
"OrderId"열이 "주문"테이블 자체에서 생성 된 기본 키이고 내 INSERT TO 명령이 동시에 실행된다는 것을 알고 있다면 어떻게 둘 다에서 "주문 ID"열을 연결할 수 있습니까? 테이블?
일치시킬 임의의 키를 생성해야합니까?
외래 키를 사용하는 경우 데이터베이스가 동시에 제출 된 이후 어떤 순서로 진행되는지 어떻게 알 수 있습니까?
"주문"-> SELECT $ OrderID -> INSERT를 "항목"에 삽입하는 것이 빠릅니다.
일반적으로 어떻게하나요? 이걸 알아낼 수 없어요.
미리 감사드립니다.
어떻게 2 명, LAST_INSERT 동시에 자신의 주문을 보낼 때 약 잠재적으로 잘못된 ID를 반환 할 수 있습니까? 게다가, "구입 한 제품 테이블에 orderid라는 추가 열이있어서 어떤 제품이 어떤 순서에 속하는지"내가 얻으려고하는 것이지만 아직 생성되지 않은이 ID 값을 가져야합니다! 내가 뭔가 잘못하고있어. –
LAST_INSERT_ID는 연결 바운드이므로 동일한 연결 내에서 다른 쿼리를 무작위로 사용하지 않는 한 일관성이 있어야합니다. 이 [page] (http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id)를보십시오. – user254948
나에게 "연결 바운드"를 설명해 주시겠습니까? 죄송합니다 :) –