我有一个电子商务商店,我目前的工作,有大约300个产品,其中有一个名为“产品_网址”字段这些字段包含一个旧的网址,我需要完全删除。如何创建一个查询,将所有“product_url”字段替换为空值数据?
t3psigkw1#
这会将每个product_url设置为NULL,而当前不为null。
UPDATE table_name SET product_url = NULL WHERE product_url is not null;
velaa5lx2#
首先,如果您有300个表(每个产品一个),您不能编写一个将产品URL设置为NULL的查询。您必须为每个表编写一个查询(如其他人所说的UPDATE table_name SET product_url = NULL)。如果有一天你有10,000种产品,如果你继续这样做,你会有10,000张table。这将成为一个维护的噩梦,因为你现在可以看到什么样的问题,你有300个表。你的数据库是非正规化的。如果您的产品共享相同的属性,那么它们应该在一个名为“Products”的表中,并且每个产品都应该表示为一行。只有这样,你才能用一个查询做你想做的事情。
UPDATE table_name SET product_url = NULL
8ehkhllq3#
每个产品都有一张table吗?如果是这样,我不知道。否则;
UPDATE products_table SET product_url=null
xytpbqjk4#
只是一个解释...
UPDATE table_name SET column_name = NULL WHERE column_name = 'product_url'
eaf3rand5#
假设所有条目都要填写NULL:
slhcrj9b6#
如果你有很多具有相同前缀和相同结构的表,你可以使用SHOW TABLES LIKE prefix_%。然后循环遍历此查询的结果集,并对每个表运行单独的查询。
SHOW TABLES LIKE prefix_%
ecbunoof7#
这将删除该列中的所有数据,而不删除该列本身。
UPDATE `table_name` SET `column_name`=null
7条答案
按热度按时间t3psigkw1#
这会将每个product_url设置为NULL,而当前不为null。
velaa5lx2#
首先,如果您有300个表(每个产品一个),您不能编写一个将产品URL设置为NULL的查询。
您必须为每个表编写一个查询(如其他人所说的
UPDATE table_name SET product_url = NULL
)。如果有一天你有10,000种产品,如果你继续这样做,你会有10,000张table。这将成为一个维护的噩梦,因为你现在可以看到什么样的问题,你有300个表。
你的数据库是非正规化的。如果您的产品共享相同的属性,那么它们应该在一个名为“Products”的表中,并且每个产品都应该表示为一行。只有这样,你才能用一个查询做你想做的事情。
8ehkhllq3#
每个产品都有一张table吗?如果是这样,我不知道。
否则;
xytpbqjk4#
只是一个解释...
eaf3rand5#
假设所有条目都要填写NULL:
slhcrj9b6#
如果你有很多具有相同前缀和相同结构的表,你可以使用
SHOW TABLES LIKE prefix_%
。然后循环遍历此查询的结果集,并对每个表运行单独的查询。ecbunoof7#
这将删除该列中的所有数据,而不删除该列本身。