从值中插入外键 ID

我有两张桌子。


            Table "public.part"

      Column       |          Type          |

-------------------+------------------------+

 id                | bigint                 | 

 part_name         | character varying(255) |

 part_department   | character varying(255) |

 part_manufacturer | character varying(255) | 

 part_model        | character varying(255) |

 part_category     | character varying(255) | 

 part_storage      | character varying(255) | 

 part_description  | character varying(255) | 

 part_stocklimit   | smallint               | 



     Table "public.entry"

     Column     |          Type          |

----------------+------------------------+

 id             | bigint                 | 

 part_id        | bigint                 |

 entry_status   | character(5)           |

 entry_qty      | smallint               |

 entry_desc     | character varying(500) |

 entry_date     | date                   |

 entry_employee | character varying(225)

我想将数据插入到条目表中。条目 TABLE 具有 part_id,它是部分 TABLE 中 id 的外键。


我构建了一个 from 来使用 PyQt5 插入条目 TABLE 的值,并使用 psycopg2 在 python 中运行 psql 命令,如下所示。

http://img4.mukewang.com/63aaa00000016ad606550748.jpg

名称标签有组合框,它从零件表中获取零件列表。现在我想从与部分 TABLE 中的 id 匹配的 comboBox 中插入数据。所以让我们这样说



慕莱坞森
浏览 61回答 1
1回答

蓝山帝景

你可以结合INSERT INTO ...和SELECT:sql = """INSERT INTO entry (part_id, entry_status, entry_qty, entry_desc, entry_date, entry_employee) VALUES ((SELECT id FROM part WHERE part_name = %s), %s , %s , %s , %s , %s)"""self.cur.execute(sql, (entry_part_name, entry_status, entry_quantity, entry_description, entry_date, entry_employee))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python