gpt4 book ai didi

MySQL for 循环 - 插入具有相同数据、不同索引的多行

转载 作者:行者123 更新时间:2023-11-30 01:31:20 24 4
gpt4 key购买 nike

我正在寻找一种纯 MySQL 方法来将数百行插入数据库。我正在为一个具有粗略架构的应用程序进行翻译,例如:

Translations
| site ID | translation ID | translation value |
------------------------------------------------
| ... | ... | ... |

Sites
| site ID | language code | ...
---------------------------------
| ... | ... | ...

问题是我有数百个相同语言的翻译,其中表中的外键不是语言代码(我正在使用旧系统,所以我无法更改它)。

我是否可以按照 SET @keys = ("key1", "key2", ...) 的方式做一些事情并循环执行 INSERT 语句?

澄清:

我有一个包含不同网站翻译的表格。新网站已添加到“网站”表中,我现在正在添加这些网站的翻译。

由于翻译表基于 site_id 而不是 language_code,因此我需要为多个站点添加相同的翻译。需要为多个不同的 site_id 插入大约 100 个翻译,并且这将在后续重用,因此手动执行此操作是不切实际的。

最佳答案

这对于评论来说太长了,但我不明白这个问题。这听起来更像是更新而不是插入:

update translations
set LanguageKey = <new language key>
where TranslationID in (key1, key2, key3 . . .);

如果您尝试使用新键复制现有行,可以使用 insert 来实现。 。 。选择:

insert into translations(LanguageKey, TranslationValue)
select <new language key>, TranslationValue
from translations
where TranslationId in (key1, key2, key3, . . . );

您的问题应该真正提供示例数据和期望的结果,以(向其他人)阐明您想要完成的任务。

关于MySQL for 循环 - 插入具有相同数据、不同索引的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17422343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com