Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何将新列更新为另一列的第一个字_Mysql - Fatal编程技术网

Mysql 如何将新列更新为另一列的第一个字

Mysql 如何将新列更新为另一列的第一个字,mysql,Mysql,我从美国农业部下载了大量关于植物分类的资料(超过98000行) 然而,仔细检查后发现,他们没有提供属或种列 经过研究发现,属总是等于学名中的第一个词,种是第二个词 我使用以下查询调出了我想要放在Genus列中的正确信息。但是,我被困在如何根据同一行中的另一列更新每一行上 SELECT SUBSTRING_INDEX( `Scientific Name with Author` , ' ', 1 ) AS `Genus` FROM `plants` 我真的希望能够只使用MySQL执行这个查询,而

我从美国农业部下载了大量关于植物分类的资料(超过98000行)

然而,仔细检查后发现,他们没有提供

经过研究发现,
总是等于学名中的第一个词,
是第二个词

我使用以下查询调出了我想要放在
Genus
列中的正确信息。但是,我被困在如何根据同一行中的另一列更新每一行上

SELECT SUBSTRING_INDEX( `Scientific Name with Author` , ' ', 1 ) AS `Genus`
FROM `plants`
我真的希望能够只使用MySQL执行这个查询,而不必求助于PHP,这是我下意识的反应

任何方向都将不胜感激,以下是下表的示例


更新
与选择
几乎相同:

UPDATE my_table
SET Genus=SUBSTRING_INDEX( `Scientific Name with Author` , ' ', 1 )

更新
几乎与
选择
相同:

UPDATE my_table
SET Genus=SUBSTRING_INDEX( `Scientific Name with Author` , ' ', 1 )

我现在正在试着运行这个。我以前没有注意到,但是表太大了,似乎我的服务器正在努力进行更新,并且已经运行了2分钟。哇,真遗憾:(这是你想要做的正确语法,但是关于如何加速,你可能不得不等待,因为这是一次性的。是的!你说得对,非常感谢你的帮助。耐心是一种美德。我现在正在尝试运行它。我以前没有注意到,但是表太大了,似乎我的服务器正在与upda进行斗争te,它已经运行了2分钟了。真遗憾:(这是你想做的正确语法,但至于如何加速-你可能不得不等待,因为这是一次性的。是的!你是对的,非常感谢你的帮助。耐心是一种美德。