MySql - 更新找到的第一个空列

时间:2014-01-06 20:17:59

标签: mysql vb.net

我在Mysql中有一个如下所示的表:

Name    Slot_1  Slot_2  Slot_3
------  ------  ------  --------
MyName  MyItem                  
MyName2

我有这个应用程序与界面购买一些产品。当客户端“MyName”在应用程序中购买时,它会将其存储在“Slot_2”中,因为已经使用了“Slot_1”;另一方面,如果MyName2购买相同的产品,它将存储在Slot_1上,因为它是第一个找到的空闲插槽。我搜索了几个链接,但我找到的只是如何更新找到的第一个空行,而不是列。

注意:该应用程序是在VB.net中制作的,所以如果你认为做这个应用程序级别会更好,请随意发表评论。 注2:这是我发现做“库存”的最佳数据库设计。如果您认为有更好的方法,请指出我。

1 个答案:

答案 0 :(得分:1)

这真是一个糟糕的设计。我真的建议阅读有关构建关系数据库的基本知识。

说唯一正确的方法是至少有三个表

第一个表包含客户信息

IDCustomer Name    Address City   
---------- ------  ------  --------
1          Steve   XXXX    YYYY 
2          Andre   KKKK    ZZZZ

第二个表格包含可以出售的物品

IDItem     Item    Price   
---------- ------  ------  
1          Apple   1    
2          Orange  2

第三个表将客户与销售的商品链接

IDItem     IDCustomer    Quantity
-------    -----------   ---------
1          1             5
2          2             10
1          2             3

此外,如果您想要将销售给客户的商品限制为仅三个,那么这是一个不应该由数据库设计强制执行的商业规则。