programing

mysql 외래 키를 사용하여 한 테이블에서 다른 테이블로 데이터 복사

telecom 2023. 7. 9. 09:48
반응형

mysql 외래 키를 사용하여 한 테이블에서 다른 테이블로 데이터 복사

inputPreviewOffsetLeft,inputPreviewOffsetTop,inputPreviewSizeWidth,inputPreviewSizeHeight에 있습니다.display_preview테이블과display.display_preview외래 키 있음displayIddisplay테이블.

INSERT INTO display_preview b (b.inputPreviewOffsetLeft, b.inputPreviewOffsetTop, b.inputPreviewSizeWidth, b.inputPreviewSizeHeight)
    SELECT bd.inputPreviewOffsetLeft, bd.inputPreviewOffsetTop, bd.inputPreviewSizeWidth, bd.inputPreviewSizeHeight 
    FROM display
INNER JOIN display bd on bd.id = b.displayId
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'b (b.inputPreviewOffsetLeft, b.inputPreviewOffsetTop, b.inputPreviewSizeWidth...' at line 1

당신은 얻을 필요가 없습니다.INSERT테이블에 별칭 이름을 표시하고 사용할 수 있습니다.INSERT INTO ... SELECTdisplay_preview그리고.display

당신은 아래 질문을 시도할 수 있습니다.

INSERT INTO display_preview (inputPreviewOffsetLeft,inputPreviewOffsetTop, inputPreviewSizeWidth, inputPreviewSizeHeight)
SELECT bd.inputPreviewOffsetLeft, bd.inputPreviewOffsetTop, bd.inputPreviewSizeWidth, bd.inputPreviewSizeHeight 
FROM display_preview b
INNER JOIN display bd on bd.id = b.displayId

편집

당신이 하고 싶다면,UPDATE ... JOIN당신은 이것을 먹어볼 수 있습니다.

UPDATE display_preview b
INNER JOIN display bd on bd.id = b.displayId
SET 
    b.inputPreviewOffsetLeft = bd.inputPreviewOffsetLeft, 
    b.inputPreviewOffsetTop = bd.inputPreviewOffsetTop, 
    b.inputPreviewSizeWidth = bd.inputPreviewSizeWidth , 
    b.inputPreviewSizeHeight = bd.inputPreviewSizeHeight 

자세한 내용은 MySQL UPDATE JOIN을 참조하십시오.

언급URL : https://stackoverflow.com/questions/71121781/mysql-copy-data-from-one-table-to-another-using-foreign-key

반응형