关于加入具有唯一索引的两个表

时间:2012-11-03 06:40:02

标签: mysql

我有两张这样的表

表“X”

idX(pk) contentX(char)
10         foo1
21         foo2
34         foo3
45         foo4

表“Y”

idY(pk) contentY(char)
11         boo1
22         boo2
33         boo3
40         boo4

加入后,插入表格并成为

idNew(pk)    idX(UQ) content(char)    idY(UQ) content(char)
   1           10         foo1           11         boo1
   2           21         foo2           22         boo2
   3           34         foo3           33         boo3
   4           45         foo4           40         boo4

我使用的SQL就像这样

    INSERT INTO DataBase.newtable(idX, contentX,idY,contentY)
        SELECT  X.idX, Y.idY, contentX, contentY
                FROM DataBase.X, DataBase.Y, ;

但是SQL语句无法插入到newtable,因为idX和idY需要是唯一值。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您需要为该插入指定连接字段,否则您将获得两个表的笛卡尔积(即16行)。如果idx和idy字段上有唯一索引,则此约束将导致insert失败。

相关问题