搜尋

首頁  >  問答  >  主體

確保在使用SQL插入資料之前進行身份驗證並檢查其在另一個表中的存在

<p>我有三个表 第一个表用于文章</p> <table class="s-table"> <thead> <tr> <th>id</th> <th>内容</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>虚拟内容_1</td> </tr> <tr> <td>2</td> <td>虚拟内容_2</td> </tr> <tr> <td>3</td> <td>虚拟内容_3</td> </tr> <tr> <td>4</td> <td>虚拟内容_4</td> </tr> <tr> <td>5</td> <td>虚拟内容_5</td> </tr> </tbody> </table> <p>还有一个用于分类的表</p> <table class="s-table"> <thead> <tr> <th>id</th> <th>类别名称</th> <th>蛞蝓</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>电影</td> <td>电影</td> </tr> <tr> <td>2</td> <td>男性健康</td> <td>男性健康</td> </tr> <tr> <td>3</td> <td>技术</td> <td>技术</td> </tr> <tr> <td>4</td> <td>游戏</td> <td>游戏</td> </tr> <tr> <td>5</td> <td>食物</td> <td>食物</td> </tr> </tbody> </table> <p>还有一个用于为每篇文章定义分类的表</p> <table class="s-table"> <thead> <tr> <th style="text-align: left;">article_id</th> <th style="text-align: center;">category_id</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">1</td> <td style="text-align: center;">5</td> </tr> <tr> <td style="text-align: left;">2</td> <td style="text-align: center;">5</td> </tr> <tr> <td style="text-align: left;">2</td> <td style="text-align: center;">1</td> </tr> <tr> <td style="text-align: left;">2</td> <td style="text-align: center;">3</td> </tr> <tr> <td style="text-align: left;">3</td> <td style="text-align: center;">5</td> </tr> <tr> <td style="text-align: left;">3</td> <td style="text-align: center;">1</td> </tr> </tbody> </table> <p>我正在使用普通的插入语句将数据插入到第三个表中, 在插入第三个表时,我想要验证是否在第一个和第二个表中找到了它们,即如果我插入以下行</p> <table class="s-table"> <thead> <tr> <th style="text-align: left;">article_id</th> <th style="text-align: center;">category_id</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">3</td> <td style="text-align: center;">1</td> </tr> </tbody> </table> <p>我想要检查是否有文章id为3,并且有分类id为1的记录, 如果其中一个未找到,则取消插入过程 我该如何编写查询语句?</p>
P粉617237727P粉617237727450 天前589

全部回覆(1)我來回復

  • P粉153503989

    P粉1535039892023-08-29 10:28:07

    首先,在每個表的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);

    回覆
    0
  • 取消回覆