簡體   English   中英

試圖從表B中選擇所有與表A中最近添加的記錄同名的記錄

[英]Trying to select all the records from table B that have the same name as most recently added record from table A

我正在使用php和MySQL。 我有兩張桌子。 我想從表PARTS中選擇所有prod_name與表PRODUCTS最近添加的記錄具有相同prod_name的記錄。

餐桌PRODUCTS

  • id(自動遞增)
  • prod_name

PARTS

  • prod_name
  • 零件名稱
  • 零件成本

這項工作還是應該使用某種聯接?

SELECT * FROM parts WHERE prod_name = (SELECT prod_name FROM products ORDER BY id DESC LIMIT 1)

是的,它將起作用。 您始終可以在phpmyadmin或MySql查詢瀏覽器中執行查詢以對其進行測試。

最好返回插入的ID,然后使用該ID進行選擇。

SELECT
  parts.*
FROM
  parts
INNER JOIN
  products
ON
  products.prod_name = parts.prod_name
WHERE
  products.id = (SELECT MAX(id) FROM products)

那應該起作用-但是,如果產品具有自動增量ID,那么為什么要使用prod_name作為PARTS表中的外鍵?

如果用戶想更改prod_name(除非您不介意他們失去連接,否則您必須仔細檢查並更改所有PARTS上的prod_name),這樣的設計會為您帶來額外的工作。

再加上空間效率不高(除非prod_name總是很短)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM