Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我的查询没有';当我删除主键时,它将不再工作_Php_Mysql - Fatal编程技术网

Php 我的查询没有';当我删除主键时,它将不再工作

Php 我的查询没有';当我删除主键时,它将不再工作,php,mysql,Php,Mysql,我正在使用主键创建数据库我正在将这个主键传递给另一个表假设,现在我正在删除主键,我的查询没有获取值,因为我正在使用join检索数据,解决方案是什么,因为php mysql中的引用表中缺少这个主id 社区表: c.d_id communityname 1 BC 2 SC 3 ST 学生表 ID Community 1 1 2 3

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

社区表:

 c.d_id    communityname
   1          BC
   2          SC
   3          ST
学生表

  ID           Community
   1             1
   2             3
   3             1
SQL

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

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

SELECT `id`, (
  SELECT `communityname` FROM `community` WHERE `Community`=`d_id`
) FROM `student`;

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

如果我没有弄错您的问题,您将主键用作另一个表中的属性,它是该新表的外键

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

CONSTRAINT fk_column
   FOREIGN KEY (column1, column2, ... column_n)
   REFERENCES parent_table (column1, column2, ... column_n)
   ON DELETE CASCADE
);

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

请使用格式设置machi!我想不清楚你在问什么。此外,在没有任何聚合功能的情况下,您使用GROUP BY是不合适的,并且(可能)会产生误导。如果要求不需要保留GROUP,则主键将根据我显示的社区名称id传入下一个表,现在主键已被删除查询未显示结果sirkinldy的解决方案是什么帮助我我不知道如何使用这种情况我知道你的方法,但学生表上的id再次发生变化,那么如何根据id检索,另一种方法是,在从社区表中删除c.d_id之前,我是否应删除form for community table中的delete选项,并在student表(以及任何其他表)上运行更新。当记录具有要删除的社区id时,请使用其他c.d_id对其进行更新,然后从社区表中删除该记录。确保查询中没有混淆这两个ID<代码>更新学生集社区ID=2,其中社区ID=1
从communityid=1的社区中删除
根据您的建议,它与相同的id不匹配,假设1=BC,2=SC,在社区表中删除1后,如果我更新到学生表,则意味着它需要第二个id,现在两个id都不同了。我们该怎么办?。