这里是table_1
的结构:
id, website, time, status
25296171, http://example.com/login.php, 2015-12-26 00:49:06, NEW
25296172, http://www.stackoverflow.com/sample.html, 2015-12-26 01:25:29, NEW
25296173, https://britain.co.uk/fwef/wefwef/eep, 2015-12-26 01:26:05, NEW
25296174, http://subdomain.hello.net/random.php, 2015-12-26 01:27:05, NEW
我要做的是将此表格中status
设置为NEW
的所有行复制并复制到table_2
表格。以下是我要完成的两件事:
复制每一行时,我想将status
从NEW
更改为COMPLETE
。
我想剥离网址,只在新列中输出域名。
以下是table_2
的示例:
id, domain, website, time, status
25296171, example.com, http://example.com/login.php, CURRENT_TIMESTAMP, NEW
25296172, stackoverflow.com, http://www.stackoverflow.com/sample.html, CURRENT_TIMESTAMP, NEW
25296173, britain.co.uk, https://britain.co.uk/fwef/wefwef/eep, CURRENT_TIMESTAMP, NEW
25296174, hello.net, http://subdomain.hello.net/random.php, CURRENT_TIMESTAMP, NEW
我知道可以简单地复制表格。我猜我在哪里弄糊涂了如何删除网址只显示域名,然后在table_1
更新该行的状态。
顺便说一下,我试图用PHP处理这一切。
可能是一个新手问题,对不起,如果是这样的话。只是想在一个网站上工作并且无法解决这个问题。
答案 0 :(得分:2)
您可以使用新字段复制所有数据:
以下是如何获取table_2所需数据的示例 SQlFiddle
INSERT INTO table_2
SELECT id,SUBSTRING_INDEX(REPLACE(website, 'http://', ''), '/', 1),website,status
FROM table_1
WHERE status="NEW"
AND Update table_1
UPDATE table_1 SET status="COMPLETED" where id in ( SELECT id from table_2 )