한 테이블을 사용하여 다른 테이블에서 업데이트 및 조인하려고합니다. 내가 잘못 갈거야 -쿼리 두 테이블 업데이트
은 내가 카테고리 테이블id
필드로
책 테이블
category
필드 (가장 최근의 삽입)을 업데이 트하려는
?
UPDATE book
JOIN category
SET book.category = category.id
WHERE id = $query->insert_id
현재 데이터는 두 테이블에 개별적으로 전송되며 아무 것도 업데이트되지 않습니다. 한 행만 업데이트해야하는데, 나는이 실수를 일찍 만들어 모든 행을 업데이트했습니다!
나는 pho/mysql에 매우 익숙하므로 도움과 방향을 환영합니다.
UPDATE 내가 행을 업데이트 할 수 있어요 @Benni에서 제안에
덕분에, 그러나 그것은 가장 최근의 인서트하지만 내 DB의 첫 번째 행하지 업데이트합니다.
내 카테고리 테이블
id cat_name
2 Childrens
3 Science
1 Maths
23 Comedy
내 책은 아래 표를 참조하십시오
id category title
1 2 a title here
2 2 a title here
3 1 a title here
4 Comedy a title here
ID
필드 모두 기본 키입니다.
업데이트를 실행하면 내 책 테이블이 2 = Childrens로 업데이트되고 23 = Comedy가 아닌 것처럼 업데이트됩니다.
내 당신은 당신의 가입의 ON
부분에 짜려고하고있다 INSERT
$query = $conn->prepare("INSERT INTO `book` (title,category,author,isbn,subtitle) VALUES (?,?,?,?,?)");
$query->bind_param('sssis',
$title,
$category,
$author,
$isbn,
$subtitle
);
$query->execute();
아마 책을 넣을 카테고리의 ID를 알고있을 것입니다. 책을 만드는 데 사용하는'INSERT' 쿼리에 넣으십시오. – axiac
더 많은 코드를 보여주세요. 마지막 INSERT가 무엇인지, 그리고 무엇을 달성하기를 원하는지는 명확하지 않습니다. – axiac