假设我有以下CSV文件
购买.csv
+--------+----------+
| Client | Item |
+--------+----------+
| Mark | Computer |
| Mark | Lamp |
| John | Computer |
+--------+----------+
在Python中,最好的做法是将这个表分成两个独立的表,并使用外键将它们连接到一个桥表中,即
客户表
+----------+--------+
| ClientID | Client |
+----------+--------+
| 1 | Mark |
| 2 | John |
+----------+--------+
项目表
+--------+----------+
| ItemID | Item |
+--------+----------+
| 1 | Computer |
| 2 | Lamp |
+--------+----------+
项目 客户端桥表
+----------+--------+
| ClientID | ItemID |
+----------+--------+
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
+----------+--------+
我应该在这里提到,记录有可能已经存在于表中,即如果 Client Name
在CSV中已经有一个分配的ID。Client Table
,这个ID应该用在 Bridge table
. 这是因为我要一次性批量上传一百万行的数据,然后每天插入几千行的数据.我也已经创建了表,它们在数据库中,只是目前是空的。