하나의 열에 다른 테이블 '베타'의 기본 키를 포함 할 'alfa'라는 하나의 mysql 테이블이 있습니다. 그러나 '베타'의 항목을 찾을 수없는 경우 '베타'에 값을 삽입하고 '알파'에 새 키를 사용하고 싶습니다. 어떻게 든 하나의 쿼리에서이 작업을 수행 할 수 있습니까?삽입되어 있지 않다면 else mysql을 선택하십시오.
내가 현재 가지고 '존'이 테이블에 존재하는 경우 잘 작동하지만, 그렇지 않으면 실패
INSERT INTO alfa SET c1=(SELECT id FROM beta WHERE name = 'john');
. 그래서 새로운 이름을 삽입하고 선택하도록 그것을 향상시킬 수 있습니까? id는 auto_incremented입니다.
IF를 살펴 보았지만 SELECT 외부에서 IF를 사용하는 방법을 아직 찾지 못했습니까?
여러 쿼리에서 할 수 있지만 원격 데이터베이스와 이야기하고 있으므로 한꺼번에 처리하는 것이 좋을 수 있습니다.
는 예를 들어, 테이블은 다음과 같이 생성 된 수 :
CREATE TABLE alfa (
c1 int,
PRIMARY KEY (c1)
)
CREATE TABLE beta (
id int auto_increment,
name varchar(255),
PRIMARY KEY (id)
)
그렇게 alfa.c1는 beta.id 값을 참조해야합니다. 한마디로
내가하고 싶은 : 존 베타에 존재하지 않는 경우가 알파에서 C1으로 베타 테이블에서 존의 ID를 삽입 한 후 베타로 존을 삽입하고 새 자동차가 ID를 증가 삽입 Alpha에서 c1로 john.
질문을 편집하고 최소한 테이블 구조를 넣을 수 있습니까? 베타 버전에서 필요한 추가 정보가 어디에서 나올지 확실하지 않습니다. 알파가 아직 베타 버전으로 생성되지 않은 경우 알파를 사용할 수있는 방법은 무엇입니까? –
지금 더 많은 정보를 추가하려고했습니다. – Zitrax