我有一个我正在处理的电子商务商店,大约有300个产品有一个名为“product_url”的字段
这些字段包含我需要完全删除的旧网址。
如何创建一个查询,将所有“product_url”字段替换为空值的数据?
答案 0 :(得分:29)
这会将每个product_url设置为NULL,当前不为null。
UPDATE table_name
SET product_url = NULL
WHERE product_url is not null;
答案 1 :(得分:4)
首先,如果您有300个表(每个产品一个),则无法编写一个将产品URL设置为NULL的查询。
你必须为每个表(UPDATE table_name SET product_url = NULL
写一个查询,正如其他人已经说过的那样)。
如果你有一天有10,000件商品,那么如果你继续这样的话你会有10,000张桌子。这将成为维护的噩梦,因为你现在可以看到你对300个桌子有什么样的问题。
您的数据库是非规范化的。如果您的产品共享相同的属性,则它们应位于名为“Products”的一个表中,并且每个产品应表示为一行。只有这样,你才能用一个查询做你想做的事。
答案 2 :(得分:2)
每个产品都有一张桌子吗?如果是这样我不知道。
否则;
UPDATE products_table
SET product_url=null
答案 3 :(得分:2)
只是一种解释......
UPDATE table_name SET column_name = NULL WHERE column_name = 'product_url'
答案 4 :(得分:1)
假设所有条目都填充NULL:
UPDATE table_name SET product_url = NULL
答案 5 :(得分:1)
如果您有许多具有相同前缀和相同结构的表,则可以执行SHOW TABLES LIKE prefix_%
。然后循环遍历此查询的结果集,并对每个表运行单独的查询。
答案 6 :(得分:0)
这将删除该列中的所有数据而不删除列本身。
UPDATE `table_name` SET `column_name`=null