问题描述
- 当我删除学生表中的信息时,提示该学生在老师表中存在.
-
tab_teacher (老师表) t_id t_name t_s_id
{001,王老师,100}
{002,李老师,101}
{003,李老师,102}tab_student (学生表) s_id s_name
{100,张三}
{104,张四}{100,张三}我删除这条信息的时候,提示该学生老师表中存在.求代码
解决方案
删之前加个判断 。。
1先查询教师表有没有数据(select * from teacher where sid=(select sid from student where sname='张三')),有数据返回失败 js alert错误
2没有数据 delete from student where sname='张三' 。
解决方案二:
你的数据库中的表的设计有问题,关于老师和学生的关系是属于多对多的关系,一个老师可以对应多个学生,一个学生也可以对应多个老师的!所以,你的老师表内的学生外键是不应该存在的,关于学生和老师是应该创建三个表的。老师表内去除学生id,学生表依旧,再设置一个中间表,表内两个字段,分别为老师的id和学生的id。删除的时候就很简单了。以后设计表的时候可以先想一下对应关系,望采纳!!
解决方案三:
这个应该是你表的问题,数据库不能识别你的t-s-id=100到底代表的是学生还是老师,因为你的表中张三的编号是100,而在老师表中也出现了100,工具无法识别
时间: 2025-01-31 01:17:42