mysql update 无主键,MySql Update字段或Insert如果不存在,则没有主键

我有一个3列(所有数字)表,其字段为CustID(非唯一),ProdID(非唯一)和Price.唯一的“唯一性”是没有CustID / ProdID对重复.因此,每个客户对每个产品都有不同的“价格”.我正在使用三线方法. (a)搜索是否存在配对,(b)如果是,我更新价格,(c)如果没有,我将新配对与价格一起插入.我还没有为id创建索引(它可以用于开发目的.)

任何人都可以建议使用REPLACE指令的方法,大多数INSERT / ON DUPE示例似乎暗示主键是必要的.我通常总是有一个PK,只是看起来很浪费这个要求.非常感谢任何有时间帮助我的人.

肯阿什顿

对不起,迈克尔,你已经给了我这个例子了.我现在想出票,非常感谢你们

解决方法:

正如迈克尔和托尼所暗示的那样,PK永远不会浪费.所以在每张桌子上都有一个PK是个好主意.所以我首先建议您创建一个PK,然后使用INSERT ON DUPLICATE KEY.

为了在没有PK的情况下实现您想要的功能,您可以先执行DELETE,然后执行INSERT.事实上,这就是REPLACE内部的作用.

标签:mysql,insert

来源: https://codeday.me/bug/20190630/1334618.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值