Mysql如何将数据从一个字段复制到同一张表中的另一个字段
Posted
技术标签:
【中文标题】Mysql如何将数据从一个字段复制到同一张表中的另一个字段【英文标题】:Mysql how to copy data from one field to other field in same table 【发布时间】:2013-02-20 20:35:34 【问题描述】:我的mysql表如下:
id host url
--------------------------------------
1 test.com/index.php
2 domain.com/list
3 www.***.com/questions/ask
我需要如下输出
id host url
------------------------------------------
1 test.com test.com/index.php
2 domain.com domain.com/list
3 ***.com www.***.com/questions/ask
提前致谢。
【问题讨论】:
您希望在插入数据时在 php 中完成此操作 >> 你想要什么。更新? 你的具体问题是什么??????UPDATE table SET host = url
,回答标题中的问题。要从 URL 中提取主机,您要么必须找到合适的 SQL 函数/过程,要么在 PHP 中进行。这将取决于您一次需要处理的条目数量以及它们可能的价值,其中一个值得追求。
【参考方案1】:
使用SUBSTRING_INDEX(str, delim, count)
:
UPDATE tablename
SET host = SUBSTRING_INDEX(url, '/', 1);
SQL Fiddle Demo
这将使您的表格看起来像:
| ID | HOST | URL |
--------------------------------------------------------------------
| 1 | test.com | test.com/index.php |
| 2 | domain.com | domain.com/list |
| 3 | www.***.com | www.***.com/questions/ask |
【讨论】:
【参考方案2】:假设你的表被命名为t
:
UPDATE t
SET host=SUBSTRING_INDEX(url, '/', 1);
【讨论】:
【参考方案3】:使用SUBSTRING_INDEX
UPDATE tbl1 SET host = SUBSTRING_INDEX(url, '/', 1)
【讨论】:
以上是关于Mysql如何将数据从一个字段复制到同一张表中的另一个字段的主要内容,如果未能解决你的问题,请参考以下文章
在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?
在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?
在SQL数据库中如何把一个表的同一个字段复制到同一个表的另一个字段?