나는 테이블 items (item_id serial, name varchar(10), item_group int)
과 테이블이 items_ver (id serial, item_id int, name varchar(10), item_group int)
있습니다.
이제 items_ver
from에 행을 삽입하고 싶습니다 items
. 이 작업을 수행하는 데 필요한 짧은 SQL 구문이 있습니까?
나는 시도했다 :
INSERT INTO items_ver VALUES (SELECT * FROM items WHERE item_id = 2);
하지만 구문 오류가 발생합니다.
ERROR: syntax error at or near "select"
LINE 1: INSERT INTO items_ver VALUES (SELECT * FROM items WHERE item...
나는 지금 시도했다 :
INSERT INTO items_ver SELECT * FROM items WHERE item_id = 2;
더 잘 작동했지만 오류가 발생했습니다.
ERROR: column "item_group" is of type integer but expression is of type
character varying
LINE 1: INSERT INTO items_ver SELECT * FROM items WHERE item_id = 2;
테이블에서 열이 다른 순서로 정의 되었기 때문일 수 있습니다. 열 순서가 중요합니까? PostgreSQL이 열 이름과 일치하기를 바랍니다.