如何编写一个SQL补丁,它将从表A中获取值并在表B中作为行插入?

时间:2017-08-15 15:32:45

标签: mysql sql

我只需要在photoProcess表中获取具有storyId值(不是0或null)的每一行,并在名为photoProcessStory的新表中插入一个条目。

photoProcess表中的行示例:

+----------------+----------+----------+
|  processId     | storyId  |  rating  |
+----------------+----------+----------+
|  111111111     | 322      |  1       |
|  111111112     | 333      |  1       |
|  111111113     | 0        |  1       |
+----------------+----------+----------+

结果photoProcessStory表格如下所示:

+-----+----------------+-------------------+
| id  |  processId     | storyId           |
+-----|----------------+-------------------+
| 1   |  111111111     | 322               |
| 2   |  111111112     | 333               |
+-----+----------------+-------------------+

非常感谢任何帮助。我有连接表和将值插入列的经验,但我不熟悉如何在这样的补丁中插入行。

3 个答案:

答案 0 :(得分:3)

toggle

答案 1 :(得分:1)

您可以使用INSERT INTO.. SELECT,例如:

INSERT INTO photoProcessStory (processId, storyId)
SELECT processId, storyId FROM photoProcess WHERE storyId <> 0;

答案 2 :(得分:0)

这只是insert into photoProcessStory(processId, storyId) select processId, storyId from photoProcess where storyId <> 0; 吗?

try:
    # code
except IKnowThisWillFailError:
    pass
except:
    # catch