尝试从表B中选择与表A中最近添加的记录具有相同名称的所有记录

时间:2011-08-04 14:38:26

标签: php mysql

我正在使用php和MySQL。我有两张桌子。我想从表PARTS中选择与表PRODUCTS中最近添加的记录具有相同prod_name的所有记录。

PRODUCTS

  • id(自动增量)
  • PROD_NAME

PARTS

  • prod_name
  • part_name
  • part_cost

这会起作用还是应该使用某种加入?

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

3 个答案:

答案 0 :(得分:1)

是的,它会起作用。您始终可以在phpmyadmin或MySql查询浏览器中执行查询以对其进行测试。

最好返回插入的id,然后选择使用该id。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

这应该有效 - 但如果产品有自动增量ID,为什么在prTS_name中使用prod_name作为外键?

如果用户想要更改prod_name,那么这样的设计会为您带来额外的工作(然后您必须通过并更改所有PARTS上的prod_name,除非您不介意它们失去连接)。

另外,它不是节省空间的(除非prod_name总是非常短)。