数据库设置单元格为NULL

时间:2011-08-31 09:21:17

标签: mysql sql symfony1 symfony-1.4

我有以下表结构:

Inventory: userid - a - b - c - d - e - f - g - h - i - j - k

这些字母代表广告资源的广告位。这里存储了产品'ID。这些产品的数据也存储在名为Products的表中。 Inventory中的值与id

中项目的Products相关联

用户想要从他的库存中提取产品,点击按钮并使用ajax将项目的id发送到服务器。

如果我没有除id之外的其他信息,我如何找到并设置为包含该产品的单元格为空?

P.S。我正在使用Symfony框架,如果这样可以使事情变得更容易。

1 个答案:

答案 0 :(得分:1)

不是最好的解决方案,只是一个想法:

UPDATE Inventory SET a = NULL WHERE a = id AND userid=uid;
UPDATE Inventory SET b = NULL WHERE b = id AND userid=uid;
...
UPDATE Inventory SET k = NULL WHERE k = id AND userid=uid;

这个应该可行,但我无法运行它来测试:

UPDATE Inventory 
SET 
 a = CASE WHEN a=id THEN NULL ELSE a END,
 b = CASE WHEN b=id THEN NULL ELSE b END,
 c = CASE WHEN c=id THEN NULL ELSE c END,
 d = CASE WHEN d=id THEN NULL ELSE d END,
 e = CASE WHEN e=id THEN NULL ELSE e END,
 f = CASE WHEN f=id THEN NULL ELSE f END,
 g = CASE WHEN g=id THEN NULL ELSE g END,
 h = CASE WHEN h=id THEN NULL ELSE h END,
 i = CASE WHEN i=id THEN NULL ELSE i END,
 j = CASE WHEN j=id THEN NULL ELSE j END,
 k = CASE WHEN k=id THEN NULL ELSE k END
WHERE userid=uid;