gpt4 book ai didi

mysql - SQL : Update column (username) with content from another column in same table (email address)

转载 作者:行者123 更新时间:2023-11-29 05:56:45 24 4
gpt4 key购买 nike

我需要更新 wordpress 用户表中每个人的用户名,以便他们的电子邮件地址成为他们的用户名。

我是一个彻头彻尾的 SQL 木偶,所以假设你正在向一个有点笨的 5 岁 child 解释这个:)

我打算尝试这样的事情:

UPDATE table_name SET usernamecolumn = emailaddresscolumn

但由于我完全不知道自己在做什么,所以我想我应该先在这里问一下!

最佳答案

您的尝试是正确的。

UPDATE WordpressUsers
SET username = emailaddress;

但是,当您尝试此操作时可能会遇到一些“陷阱”。

您需要确保 emailaddress 适合 username 列的大小。

-- Verify length to avoid truncation during UPDATE
SELECT MAX(LENGTH(emailaddress)) FROM WordpressUsers;

然后ALTER您的表以允许增加的数据长度。

ALTER TABLE WordpressUsers
MODIFY username VARCHAR(200);

示例:

DROP TABLE IF EXISTS WordpressUsers;

CREATE TABLE WordpressUsers (
username VARCHAR(50) NOT NULL,
emailaddress VARCHAR(200) NOT NULL);


INSERT INTO WordpressUsers (username, emailaddress)
VALUES ('joesmith', 'joe.smith@test.com')
, ('janedoe', 'jane.doe@test.com')
, ('johndoe', 'john.doe@test.com')
, ('someone', 'someone@test.com')
, ('someone', 'ReallyLongLongEmailAddress@ReallyReallyLongDomain.com');

-- verify
SELECT * FROM WordpressUsers;

-- Verify length to avoid truncation during UPDATE
SELECT MAX(LENGTH(emailaddress)) FROM WordpressUsers;

ALTER TABLE WordpressUsers
MODIFY username VARCHAR(200);

-- UPDATE
UPDATE WordpressUsers
SET username = emailaddress;


-- verify
SELECT * FROM WordpressUsers;

enter image description here

enter image description here

[DEMO]

关于mysql - SQL : Update column (username) with content from another column in same table (email address),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48727853/

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