gpt4 book ai didi

mysql - 如何插入包含行的修改值的字段

转载 作者:行者123 更新时间:2023-11-29 16:10:39 24 4
gpt4 key购买 nike

我有这张表:

CREATE TABLE `new_random` (
`i_domain` varchar(500) DEFAULT NULL,
`i_domain_no_http` varchar(500) DEFAULT NULL,
UNIQUE KEY `i_domain_UNIQUE` (`i_domain`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

我使用 alter table 创建了字段 i_domain_no_http。这是一个新列(那里没有值,初始设置为 NULL),我想在其中插入 i_domain 的确切值,但在修改它们并删除前缀 http://./

我提出了查询:

insert into `myscheme`.`new_random` (`new_random`.`i_domain_no_http`)
select substring_index(`new_random`.`i_domain`,'http://',-1)
from `myscheme`.`new_random`;

例如,表格应如下所示:

i_domain       | i_domain_no_http
------------------------------------
http://11.com | 11.com
https://22.com | 22.com

但我收到此错误:

i_domain       | i_domain_no_http
------------------------------------
http://11.com |
https://22.com |
NULL | 11.com
NULL | 22.com

“i_domain”应该是主键而不是 NULL,但我必须删除 NNPK 以避免错误:

Error Code: 1364. Field 'i_domain' doesn't have a default value

有什么问题吗?怎么解决?

最佳答案

您想要的是一个UPDATE查询:

UPDATE myscheme.new_random 
SET i_domain_no_http = SUBSTRING_INDEX(new_random.i_domain,'://',-1)

输出:

i_domain        i_domain_no_http
http://11.com 11.com
https://22.com 22.com

Demo on dbfiddle

关于mysql - 如何插入包含行的修改值的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55290825/

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