因为添加SPJ主码后,加不了行,就后来把SPJ的主属性都去了,输得时候为什么那两行变成只读了呀😭
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
sql输入一列数据之后自己变成只读了,而且只有两行是这样
因为添加SPJ主码后,加不了行,就后来把SPJ的主属性都去了,输得时候为什么那两行变成只读了呀😭
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注
引自免费微信小程序:皆我百晓生
看起来你在创建了一个包含四个表的关系型数据库:学生(S)、产品(P)、地点(J)以及学生购买的产品地点关系表(SPJ)。在尝试向SPJ表中添加数据时,遇到了问题,即部分行变为只读。这可能是因为在创建SPJ表时,你曾设置过主键约束,即使后来删除了这些约束,数据库可能仍然保留了一些关于这些列的索引信息,导致它们被锁定。
要解决这个问题,你需要清除与之前主键相关的任何索引。以下是步骤:
- 首先,你需要撤销所有与SPJ表相关的外键约束,因为它们可能会阻止插入操作。
- 然后,删除与之前主键相关的索引。
- 最后,重新尝试插入数据。
下面是执行这些操作的SQL代码:
-- 撤销SPJ表的所有外键约束 ALTER TABLE SPJ DROP CONSTRAINT FK_SPJ_S; ALTER TABLE SPJ DROP CONSTRAINT FK_SPJ_P; ALTER TABLE SPJ DROP CONSTRAINT FK_SPJ_J; -- 删除之前主键相关的索引 DROP INDEX IF EXISTS idx_SNO ON SPJ; DROP INDEX IF EXISTS idx_PNO ON SPJ; DROP INDEX IF EXISTS idx_JNO ON SPJ; -- 再次尝试插入数据 INSERT INTO SPJ (SNO, PNO, JNO, QTY) VALUES ('S1', 'P1', 'J1', NULL);
如果上述步骤无法解决问题,可能是数据库管理系统(DBMS)本身的问题,或者是你使用的客户端工具设置了某些限制。在这种情况下,你应该检查所使用的数据库管理系统的文档,或者联系相应的技术支持。
如果你在执行这些命令后仍遇到问题,或者有任何其他疑问,请随时告诉我,我会尽力提供进一步的帮助。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 麒麟ARM机器安装chromium浏览器
- ¥15 grbl 限位开关初始遮挡怎么处理?
- ¥15 输入网址无法跳转,如何解决?(关键词-CONNECT)
- ¥15 kubekey离线安装k8s及kubesphere报错
- ¥15 avalonia开发海康SDK怎么在linux实现预览?
- ¥15 keil5运行结果报错如下该怎么办
- ¥300 New-API新增渠道调试
- ¥20 zookeeper单服务器集群搭建,2888和2890端口没有监听
- ¥15 电梯与AGV小车,modbus转HTTP ,.
- ¥100 qt程序使用CEF组件某些网页打开失败的问题