我对此很陌生,我需要一些帮助。
我想使用pgadmin将数据行从一个表复制到同一个数据库中的另一个表。但是,它们的列ID略有不同。有没有办法编写脚本来匹配它们并进行复制?
请帮忙。谢谢。
我尝试了以下方法(将STUD表中的现有数据复制到STUDENT表中):
CREATE TABLE STUDENT(
Student_id INT,
Student_name TEXT,
Student_address TEXT
);
INSERT INTO STUDENT
SELECT * FROM STUD AS D
WHERE(
Student_id = D.id,
Student_name = D.name
);
我有2张桌子STUDENT和STUD。 在STUDENT表下,我有Student_id,Student_name和Student_address。 在STUD表下,我有名字和id。 两个表中的行都没有按顺序排列。
** ADD ON **
STUD 中的表格不带有Student_address列。只有STUDENT表有。由于STUD没有Student_address,我想将Student_address放在STUDENT表中为NULL。是否可以编写一个通用脚本,其中STUDENT表中不存在于Stud中的列将为NULL?
编辑** 我需要插入" TBC"
而不是NULL答案 0 :(得分:0)
使用基于选择的插入:
insert into student (Student_id, Student_name)
select id, name
from stud;
列名称不必匹配,只需匹配数据类型。您未在插入目标列表中指定的任何列将设置为null
(或更具体地说,为该列定义的默认值)
在线示例:http://rextester.com/ISCL45721
修改(在要求发生变化后)
要为所有行在一列中插入常量值,请在select子句中包含该常量:
insert into student (Student_id, Student_name, student_address)
select id, name, 'TBC'
from stud;