我正在使用mysql中有80000行的表,更具体地说是通过phpMyAdmin访问。
我发现有100个随机用户ID没有在通用名称字段中显示其名称,但是在“运费和结算”字段中显示它们。我在下面的内容是SQL命令需要发生的事情。
如果user_id的meta_key first_name值为空 然后将user_id的meta_key(shipping_first_name)复制到名为(名字)的meta_key以匹配user_id。
我附加了数据库的jpg,因此您可以看到字段存在的字段。Picture of rows mentioned.
答案 0 :(得分:1)
我认为您可以尝试以下更新:
UPDATE yourTable t1
INNER JOIN yourTable t2
ON t1.user_id = t2.user_id AND
t1.meta_key = 'first_name' AND
t2.meta_key = 'shipping_first_name'
SET t1.meta_value = t2.meta_value
WHERE
COALESCE(t1.meta_value, '') = ''
我使用上面的COALESCE
将空字符串和null视为表格中与第一个名称缺失值相同的内容,因为我不知道哪个(或两个?)你正在使用。