gpt4 book ai didi

mysql - 消除重复日期 MySQL

转载 作者:行者123 更新时间:2023-11-29 03:12:21 26 4
gpt4 key购买 nike

我正在创建一个产品数据库并尝试以正确的方式进行操作。到目前为止,这是我的数据库设置方式。

我的产品表只是产品 ID 和营销描述。 sku 表将 skuid 与 productid 相关联。一种产品有很多 SKU。每个产品的 SKU 都是唯一的。这三个属性表将属性值(即尺寸、重量、颜色等)与 sku id 相关联。

这是结果。

http://174.121.67.116/~aware/awarebk/product_sku_view.php?code=789

产品 789 有与之相关的 SKU 17、24、25、29、30。第 25、29 和 30 行是我的问题。您会看到允许重复。数据库中不存在该表。它是使用下面的代码创建的。我希望每个 sku id 的属性组合都是唯一的。我是否通过前端验证来执行此操作?有没有办法在后端执行此操作?这是我用来生成 sku 行的 mysql 代码。

$sidresult = mysql_query("SELECT sku.product_idproduct,
sku.idsku,
amaterial.material,
amcolor.color,
atype.type
FROM sku sku
LEFT OUTER JOIN amaterial ON sku.idsku = amaterial.sku_idsku
LEFT OUTER JOIN amcolor ON sku.idsku = amcolor.sku_idsku
LEFT OUTER JOIN atype ON sku.idsku = atype.sku_idsku
WHERE sku.product_idproduct =$pid");

if (mysql_num_rows($sidresult) > 0) {
echo '
<table border="1" cellspacing="0" cellpadding="5px">
<tr>
<th>SKU ID</th>
<th>Material</th>
<th>Material Color</th>
<th>Type</th>

</tr>';
while ($sidrow = mysql_fetch_array($sidresult)) {
echo '<tr>';
echo '<td>' . $sidrow['idsku'] . '</td>';
echo '<td>' . $sidrow['material'] . '</td>';
echo '<td>' . $sidrow['color'] . '</td>';
echo '<td>' . $sidrow['type'] . '</td>';
echo "</tr>";
}
// close table>
echo "</table>";

同样,我的目标是确保使用 skuid 生成的属性行是唯一的,并且不能添加重复项。那么我该如何验证跨多个表的重复项呢?

最佳答案

您的后端验证代码应该根据产品 ID 检查用户输入的新 SKU 值 - 看起来您使用的是 PHP,因此该例程应该位于您处理 SKU 输入表单 (add_product_sku_view.php) 的位置.

接受用户的输入,运行 SQL 查询以查看它是否返回任何现有的 SKU,如果组合已经存在则通知用户。只有在他们输入了唯一的 SKU 详细信息后,您才应允许将记录插入到您的 SKU 表中。

关于mysql - 消除重复日期 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6054902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com