我試圖將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 –