我有一个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