需要MySQL Query:我需要删除一列中的所有数据

neekobn8  于 12个月前  发布在  Mysql
关注(0)|答案(7)|浏览(105)

我有一个电子商务商店,我目前的工作,有大约300个产品,其中有一个名为“产品_网址”字段
这些字段包含一个旧的网址,我需要完全删除。
如何创建一个查询,将所有“product_url”字段替换为空值数据?

t3psigkw

t3psigkw1#

这会将每个product_url设置为NULL,而当前不为null。

UPDATE table_name
SET product_url = NULL
WHERE product_url is not null;
velaa5lx

velaa5lx2#

首先,如果您有300个表(每个产品一个),您不能编写一个将产品URL设置为NULL的查询。
您必须为每个表编写一个查询(如其他人所说的UPDATE table_name SET product_url = NULL)。
如果有一天你有10,000种产品,如果你继续这样做,你会有10,000张table。这将成为一个维护的噩梦,因为你现在可以看到什么样的问题,你有300个表。
你的数据库是非正规化的。如果您的产品共享相同的属性,那么它们应该在一个名为“Products”的表中,并且每个产品都应该表示为一行。只有这样,你才能用一个查询做你想做的事情。

8ehkhllq

8ehkhllq3#

每个产品都有一张table吗?如果是这样,我不知道。
否则;

UPDATE products_table
SET product_url=null
xytpbqjk

xytpbqjk4#

只是一个解释...

UPDATE table_name SET column_name = NULL WHERE column_name = 'product_url'
eaf3rand

eaf3rand5#

假设所有条目都要填写NULL:

UPDATE table_name SET product_url = NULL
slhcrj9b

slhcrj9b6#

如果你有很多具有相同前缀和相同结构的表,你可以使用SHOW TABLES LIKE prefix_%。然后循环遍历此查询的结果集,并对每个表运行单独的查询。

ecbunoof

ecbunoof7#

这将删除该列中的所有数据,而不删除该列本身。

UPDATE `table_name` SET `column_name`=null

相关问题