确保在使用SQL插入数据之前进行身份验证并检查其在另一个表中的存在
P粉617237727
P粉617237727 2023-08-29 00:00:27
[MySQL讨论组]

我有三个表 第一个表用于文章

id 内容
1 虚拟内容_1
2 虚拟内容_2
3 虚拟内容_3
4 虚拟内容_4
5 虚拟内容_5

还有一个用于分类的表

id 类别名称 蛞蝓
1 电影 电影
2 男性健康 男性健康
3 技术 技术
4 游戏 游戏
5 食物 食物

还有一个用于为每篇文章定义分类的表

article_id category_id
1 5
2 5
2 1
2 3
3 5
3 1

我正在使用普通的插入语句将数据插入到第三个表中, 在插入第三个表时,我想要验证是否在第一个和第二个表中找到了它们,即如果我插入以下行

article_id category_id
3 1

我想要检查是否有文章id为3,并且有分类id为1的记录, 如果其中一个未找到,则取消插入过程 我该如何编写查询语句?

P粉617237727
P粉617237727

全部回复(1)
P粉153503989

首先,在每个表的categoriesarticles上将id列设置为主键

ALTER TABLE categories
ADD PRIMARY KEY (ID);

ALTER TABLE articles
ADD PRIMARY KEY (ID);

然后,为这两个列添加外键约束

ALTER TABLE article_category
ADD FOREIGN KEY (category_id) REFERENCES categories(id);

ALTER TABLE article_category
ADD FOREIGN KEY (article_id) REFERENCES articles(id);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号