Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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,我有两张桌子,令牌和distinctToken。以下是两个表的说明 代币 (id int,text varchar(100),utokenid int) distinctToken (id int,text varchar(100)) 两个表中的文本字段具有相同的数据,但有一个例外,即令牌表中的文本字段包含重复的条目 我想更新令牌表,使其utokenid成为外键。更具体地说,我想设置Token.utokenid=distinctToken.id的值,其中Token.text与distinctTo

我有两张桌子,令牌和distinctToken。以下是两个表的说明

代币 (id int,text varchar(100),utokenid int)

distinctToken (id int,text varchar(100))

两个表中的文本字段具有相同的数据,但有一个例外,即令牌表中的文本字段包含重复的条目

我想更新令牌表,使其utokenid成为外键。更具体地说,我想设置Token.utokenid=distinctToken.id的值,其中Token.text与distinctToken.text相同。是否可以使用update或编写存储过程来执行此操作

UPDATE Token t, distinctToken dt SET t.utokenid = dt.id WHERE t.text = dt.text;

我遗漏了什么吗?

你是100%正确的,没有遗漏任何东西,我失去了耐心,因为每次运行相同的查询时,我都会在10分钟后终止,mysql花31分钟执行更新。谢谢,您可以先在两列中添加索引来帮助实现这一点。如果需要,可以在完成后删除索引。