Mysql 在重复键上插入选择不起作用

发布于 2025-01-18 00:33:29 字数 839 浏览 3 评论 0原文

包含数据的表行

feature_access_iduser_idcompany_idfeature_idaccess_levelflagcreated_dtlast_updated_dt
'20''0''0''66''ST''Y''2022-03-24 07:28:38''2022-03-31 08: 24:32'

下面的查询确实会影响运行后的行,该标志应该具有 从 Y 更改为 N

INSERT INTO access( user_id, company_id, feature_id, access_level, flag) 
select  0,0,feature_id,'ST', 'N' from feature where feature_code = 'UPCOMING'
ON duplicate key update flag = 'N'

添加的约束

ALTER TABLE `access` ADD CONSTRAINT `access_constraint` UNIQUE (
`user_id`,`company_id`,`feature_id`,`access_level`
);

table row with data

feature_access_iduser_idcompany_idfeature_idaccess_levelflagcreated_dtlast_updated_dt
'20''0''0''66''ST''Y''2022-03-24 07:28:38''2022-03-31 08:24:32'

The below query does affect the rows after running, the flag should have changed from Y to N

INSERT INTO access( user_id, company_id, feature_id, access_level, flag) 
select  0,0,feature_id,'ST', 'N' from feature where feature_code = 'UPCOMING'
ON duplicate key update flag = 'N'

Constraint that was added

ALTER TABLE `access` ADD CONSTRAINT `access_constraint` UNIQUE (
`user_id`,`company_id`,`feature_id`,`access_level`
);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文