带2个表的示例:
Table A: `id`, `a`, `b`, `c`, `X`, `Y`, `Z`
Table B: `id`, `h`, `i`, `j`, `X`, `Y`, `Z`
我正在制作一个包含X
,Y
,Z
A
和B
的CC_4列,并使用键链接数据,即:
A `id`, `a`, `b`, `c`, `id_C`
B `id`, `h`, `i`, `j`, `id_C`
C `id`, `X`, `Y`, `Z`
创建这些表不是问题。
我遇到的问题是将A
,B
的当前数据更改为A
,Table C
0,C
。
我该如何完成?
我能想到的唯一方法是在移动数据时将A
的ID添加为C
中的列,而不是连接两个表,然后再次删除A
的ID列。之后,使用Table B
。
编辑
我正在使用MySQL 4.1.22
作为解决方案:
- 用列
id, X, Y, Z
创建Table C
(ID是自动灌溉)。 - 这样添加数据,因此:
INSERT INTO C (X, Y, Z)
SELECT X, Y, Z
FROM (
SELECT X, Y, Z FROM A
UNION
SELECT X, Y, Z FROM B) As tempC
- 现在
ALTER
表A
和B
添加新列id_C
。 - 这样更新
id_C
:
UPDATE A
SET id_C = (SELECT id FROM C WHERE C.X = A.X AND C.Y = A.Y AND C.Z = A.Z)
- (对
A
和B
进行4次完成后)从A
和B
掉落X, Y, Z
。