我试图将ms_price
和ms_name
的值插入到另一个表中,该表是service_type
和service_amount
列的记录。将表中的值插入另一个表
ms_pricelist
| ms_priceID | ms_Name | ms_price |
|------------|---------|----------|
| 7894 |Casing | 17.0897 |
| 7895 |Fan | 69.9902 |
记录
| customerID | service_type | service_amount |
|------------|--------------|----------------|
| 1000712 | Casing | 17.2311 |
| 1000712 | Trunion | 189.9900 |
这里是我的代码。
INSERT INTO records (service_type, service_amount)
SELECT ms_pricelist.ms_name, ms_pricelist.ms_price
FROM records JOIN
ms_pricelist
WHERE records.CustomerNumber='1' AND ms_pricelist.ms_priceID='1'
据我想要做什么,但它增加了一个新的纪录(编辑历史:列)。我想将其更新或插入到我的记录表中的现有记录中。
编辑
我只是想更新将插入ms_name和ms_price的值(从ms_pricelist表)中的现有记录TO SERVICE_TYPE和service_amount(记录表)。
因此,在年底的记录表将包含:
| customerID | service_type | service_amount |
|------------|--------------|----------------|
| 1000712 | Casing | 17.0897 | <--Note: updated price
| 1000712 | Trunion | 189.9900 |
| 1000712 | Fan | 69.9902 | <--Note: new row
请标记与您正在使用的数据库你的问题。如果这种格式不正确的语法被接受,那大概是MySQL。此外,样本数据和期望的结果将有助于解释你在做什么。 'INSERT'不添加*列*,所以问题不清楚。 –
我正在使用mysql。如果我使用UPDATE,它不能使它工作,它只是返回一堆错误。也许通过使用DUPLICATE或其他?我编辑了这个问题。 –
是的,听起来像ON DUPLICATE KEY UPDATE是你要找的。 只需确保表定义了PRIMARY KEY –