Mysql 在重复键上插入选择不起作用
包含数据的表行
feature_access_id | user_id | company_id | feature_id | access_level | flag | created_dt | last_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_id | user_id | company_id | feature_id | access_level | flag | created_dt | last_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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论