Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
SQL为MySQL中的多个类别实现n-n关系&;PHP_Php_Mysql_Sql - Fatal编程技术网

SQL为MySQL中的多个类别实现n-n关系&;PHP

SQL为MySQL中的多个类别实现n-n关系&;PHP,php,mysql,sql,Php,Mysql,Sql,我想知道需要传递什么样的SQL来实现一篇文章的多个类别 我已经创建了3个表 ARTICLES: id, title, content CATEGORIES: id, name RELATION: article_id, cat_id 我能够成功地创建前两个表,并在用户提交表单时在其中存储数据。但是,我不知道如何更新关系表。我搜索了stackoverflow,发现我需要使用多对多关系。我知道了。但是,我不知道如何实际操作,即SQL 这些类别显然是在发布文章时添加的,所以我只需要在更新前两个表

我想知道需要传递什么样的SQL来实现一篇文章的多个类别

我已经创建了3个表

ARTICLES:
id, title, content

CATEGORIES:
id, name

RELATION:
article_id, cat_id
我能够成功地创建前两个表,并在用户提交表单时在其中存储数据。但是,我不知道如何更新
关系
表。我搜索了stackoverflow,发现我需要使用多对多关系。我知道了。但是,我不知道如何实际操作,即SQL

这些类别显然是在发布文章时添加的,所以我只需要在更新前两个表之后更新这个表


如果有人能指导我学习教程或正确的方向,我将不胜感激。

这应该由您的SQL DBMS负责。例如,如果将关系的外键设置为级联删除或更新,则当父项中的某些内容发生更改时,子项也将被删除/更新。您能给我一个您希望对前两个表进行更新的示例,以及对关系表进行更新的结果吗?

假设postarticle是同义词,然后,每次发布新帖子并确定其类别时,您都需要在“关系”表中“插入”一条记录

最初创建表时,需要识别外部键(约束),并(如果需要)指定是否应启用
级联

显然,您已经知道如何
创建
表和
插入

您可能想在Google上搜索主键、外键、级联删除以及MYSQL和PHP


另请查看以下内容是否有帮助:

我相信这取决于
关系
表的用途。它应该包括两个ID中的每一对(在它们被添加到
文章
类别
之后),还是只包括唯一的ID?每一对ID。然后,只能实现Mult-Category。我希望系统能够像在博客中一样工作。你可能会想到blogger或wordpress,这种回答没有帮助。您要做的是管理一对多关系,以防止更新和删除异常。这似乎不是php问题,甚至不是SQL问题,而是数据库规范化问题。您应该研究如何规范化数据库和管理一对多关系,如以下关系:。如果您有需要帮助的特定场景,请告诉我。