我是一个SQL初学者,所以这可能是一个相当新手的问题,但我似乎无法让我的头脑正直。我有一对名为MATCH
和SEGMENT
的表。通过匹配表之间的字符串来创建外键
MATCH.id int(11) ai pk
MATCH.name varchar(45)
etc.
SEGMENT.id int(11) ai pk
SEGMENT.name varchar(45)
etc.
在MATCH
每行可以有与之相关联的一个或多个SEGMENT
行。 MATCH中的名称在每一行都是唯一的。现在我在名称字段上进行内部连接,以确定哪些段与哪些匹配。我想将这些表复制到一组新表中,并在SEGMENT中设置一个包含MATCH行中唯一ID的外键,以提高性能并解决名称并非总是完全相同的问题(以及他们应该是)。
是否有办法执行单个INSERT或UPDATE语句,它将执行名称比较并将外键添加到SEGMENT表中的每一行 - 至少对于名称完全相同的行? (对于那些不匹配的,我可能必须编写一个SQL函数来清除名称,通过删除额外的空白和特殊字符进行比较)
感谢任何帮助,任何人都可以给我!
UPDATE语句看起来像是SQL Server(Transact-SQL)语法,而不是有效的MySQL语法。 – spencer7593
谢谢@ spencer7593,改变了它。 – SoulTrain