【发布时间】:2016-08-14 16:32:06
【问题描述】:
我有一个已加载数据的现有 Mysql 表(TblParts)
Code Stock Price Location id
1 10 1000 Global 1
2 5 1500 Office 2
3 2 500 Global 3
4 1 100 Global 4
我有一个包含新信息的第二张表(TblNewParts)
Code Stock Price Location id
1 30 2000 Global 1
2 5 1000 Global 2
3 10 5000 Global 3
4 30 200 Global 4
5 40 500 Global 5
我需要用 TblPartsNew 数据更新 TblParts
如果代码存在,并且位置 = 全球,则更新股票和价格,如果代码存在,但位置 全球,然后插入具有相同代码和不同位置的记录,如果代码不存在,则添加它
TblParts 的输出必须是:
Code Stock Price Location
1 30 2000 Global
2 5 1500 Office
3 10 5000 Global
4 30 200 Global
5 40 500 Global
【问题讨论】:
-
您的问题是什么?你试过了吗?
-
因为 MySql 没有 MERGE 命令,你必须编写一个 INSERT 和一个 UPDATE 查询
-
@JoeTaras 为什么?
INSERT ... ON DUPLICATE KEY UPDATE语法有什么问题? -
@Strawberry:对!我忘记了;)
-
@JoeTaras 我想这就是他们将删除按钮放在那里的原因。
标签: mysql join conditional