確保在使用SQL插入資料之前進行身份驗證並檢查其在另一個表中的存在
P粉617237727
P粉617237727 2023-08-29 00:00:27
0
1
466

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

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);
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!