我有2个表格。第一张表包含一些产品,第二张表用于临时数据存储。两个表都有相同的列名。如何在表中存在数据并更新值(如果不使用MariaDB在表中插入数据)?
Table `products`: contains this columns
- id (unique, autoincrement)
- name
- quantity
- price
- group
Table `temp_stor`: contains this columns
- id (unique, autoincrement)
- name
- quantity
- price
- group
我想从第一表中的一行(名称,数量,价格,组)来获取并将其插入到第二个表,如果数据不存在。如果temp_stor
中存在相同的数据,我只想更新一列(数量)。
例如: 我从products
下面的行('cola','1','2.5','soda')
,我想检查temp_stor
以查看该行是否存在。 temp_store
表看起来像这样:
('milk 1L','1','1.5','milks')
('cola','1','2.5','soda')
('bread','1','0.9','pastry')
('7up','1','2.8','soda')
我们看到第二行存在,我想更新它的数量。该表将是这样的:
('milk 1L','1','1.5','milks')
('cola','2','2.5','soda')
('bread','1','0.9','pastry')
('7up','1','2.8','soda')
如果表是这样的:
('milk 1L','1','1.5','milks')
('bread','1','0.9','pastry')
('7up','1','2.8','soda')
我想插入行到表中。所以它看起来像这样:
('milk 1L','1','1.5','milks')
('bread','1','0.9','pastry')
('7up','1','2.8','soda')
('cola','1','2.5','soda')
这是posible通过sql查询吗?我需要将其实现为一个Python代码。我可以处理的python部分,但是我对sql不太好。
谢谢
更新1: 我忘了指定也许是最重要的事情,这是我的错。我想检查temp_stor
表内的product
name
的存在情况。只有名称应该是唯一的。如果产品存在,我不想更新它的值quantity
,如果product
不存在,我想将它插入到temp_stor
表中。
你正在使用DBMS?你提到MariaDB,但是用mysql和sql server标记了这个。他们都是三种不同的。 –
mariadb和mysql是一样的,我已经更新了标签。我使用mariadb。如果这两者之间有一些区别,我不能说。我对他们不太好。但我用过的看起来是一样的 –
他们不是真的一样,因为MariaDB是MySQL的替代品,但几乎在所有方面它们都是相同的。 :) –