gpt4 book ai didi

mysql - DBSQL 将列中一个实体的值插入到不同列中的另一个实体

转载 作者:行者123 更新时间:2023-11-30 22:38:26 25 4
gpt4 key购买 nike

你们能告诉我这是否正确吗??我正在尝试将 firstname_1 的值插入 first_name。

INSERT INTO wp_usermeta(meta_value) where meta_key=first_name
select meta_value where meta_key=firstname_1

这是从数据库中查看的表(表名 = wp_usermeta)

423 16 firstname_1 vrigu
424 16 lastname_2 de
425 16 gender_5 male
426 16 bankname_3 SBI
427 16 accountnumber_4 9456874526
429 17 nickname mithu123
430 17 first_name
431 17 last_name

最佳答案

如果你想插入一个新行,你使用这个:

INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
SELECT user_id, 'first_name', meta_value
FROM wp_usermeta
WHERE meta_key = 'firstname_1'

如果要填充现有行,请使用 UPDATE,而不是 INSERT:

UPDATE wp_usermeta AS t1
JOIN wp_usermeta AS t2 ON t1.user_id = t2.user_id
SET t1.meta_value = t2.meta_value
WHERE t1.meta_key = 'first_name'
AND t2.meta_key = 'firstname_1'

如果您需要同时执行这两项操作——如果行已存在则更新该行,或者创建一个新行——您可以使用 INSERTON DUPLICATE KEY UPDATE选项:

INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
SELECT user_id, 'first_name', meta_value
FROM wp_usermeta
WHERE meta_key = 'firstname_1'
ON DUPLICATE KEY UPDATE meta_value = VALUES(meta_value);

这假设复合键上有一个唯一索引 (user_id, meta_key)

关于mysql - DBSQL 将列中一个实体的值插入到不同列中的另一个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31753656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com