我正在搜索这几个小时。
我只是想将一个表中的一些字段复制到另一个表中。在目标表中,我想要复制的字段不存在。
就像复制粘贴一样。
实施例。我有桌子
表A赞
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`active` int(11) DEFAULT '0'
表B喜欢
`date` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`alias` varchar(255) DEFAULT NULL,
`voters` int(11) DEFAULT NULL,
`level` int(11) NOT NULL DEFAULT '0',
`content` text
实施例。我想将表格B中的“内容,级别,选民”复制到表A,并使用相同的结构和数据。
我心中想这样,但是怎么样?
Alter Table A Add content (same SCHEMA as TABLE B.content)
Alter Table A Add level (same SCHEMA as TABLE B.level)
Alter Table A Add level (voters SCHEMA as TABLE B.voters)
答案 0 :(得分:1)
INSERT INTO A (col1 , col2 , col3)
SELECT colB1, colB2,colB3
FROM B
它们必须是相同的数据类型和大小
UPDATE 如果表A不包含数据,您可以像这样创建
CREATE TABLE A LIKE B;
使用LIKE根据另一个表的定义创建一个空表,包括原始表中定义的所有列属性和索引:
然后在上面插入声明
如果你想保留表A中的数据并从表B中添加一些列,你可以在新表X中合并这两个表然后删除表A并重命名X
CREATE TABLE X
SELECT * from emp;
注意:如果表A包含许多记录,这将花费太多时间并且不是一个好的解决方案
但是你的select语句将包含join,如果A和B之间有关系,请告诉我写一个更具体的解决方案