首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我删除主键时,我的查询不再工作了

问当我删除主键时,我的查询不再工作了
EN

Stack Overflow用户
提问于 2014-07-15 10:59:27
回答 3查看 83关注 0票数 1

我使用主键创建数据库--我将这个主键传递给另一个表假设,现在我正在删除主键--我的查询没有获取值,因为我使用join检索数据--这是什么解决方案--因为php mysql中的引用表中缺少这个主id。

社区表:

代码语言:javascript
复制
 c.d_id    communityname
   1          BC
   2          SC
   3          ST

学生表

代码语言:javascript
复制
  ID           Community
   1             1
   2             3
   3             1

SQL

代码语言:javascript
复制
SELECT c.communityname FROM student  s left join community c on c.d_id=s.community WHERE s.stud_rollno = '".$rollno."' GROUP BY stud_rollno
EN

回答 3

Stack Overflow用户

发布于 2014-07-15 11:03:38

您可以使用带有WHERE子句da的简单Sub查询,而不是使用左联接!

代码语言:javascript
复制
SELECT `id`, (
  SELECT `communityname` FROM `community` WHERE `Community`=`d_id`
) FROM `student`;

否则,您需要级联主键和外键。

票数 0
EN

Stack Overflow用户

发布于 2014-07-15 11:03:38

如果我正确地解决了您的问题,您将在另一个表中使用一个主键作为属性,它是该新表的外键。

通过指定此操作,可以在删除第一个表中的主键时使用级联行为删除“外接行”。

代码语言:javascript
复制
CONSTRAINT fk_column
   FOREIGN KEY (column1, column2, ... column_n)
   REFERENCES parent_table (column1, column2, ... column_n)
   ON DELETE CASCADE
);
票数 0
EN

Stack Overflow用户

发布于 2014-07-15 11:05:47

一种方法是用社区表中存在的另一个社区ID更新学生表,用ON delete级联删除学生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24756463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档