【发布时间】:2018-08-20 17:57:01
【问题描述】:
我必须在 MySQL 中迭代我的表用户中的每一行。 我需要为 User 中的每次迭代创建一个新的行地址,其中一些条件如下所述。
我有 3 张桌子:
User: id, stuff, id_person, email
Person: id, stuff, id_address
Address: id, email
如果 User.id_person 不为 NULL 并且 person.id_address 为 NULL,我需要在 Address 中创建一个新行。 我必须使用与 User.email 相同的电子邮件创建行。 我必须对 User 中的每一行都这样做。
我尝试使用 MySQL 游标,但我不知道如何很好地使用它们。
我该怎么做?除了使用游标之外,还有其他方法吗?
提前致谢。
编辑:我刚刚意识到我还必须使用我刚刚创建的地址行的 id 更新 person.id_address。
【问题讨论】:
-
查找 INSERT ,,, FROM SELECT。如果您可以构造一个 SELECT 语句,该语句会导致插入地址所需的“行”,那么就可以完成这项工作,而无需求助于 foreach 循环。
-
你能贴出你试过的代码吗?这应该是一项相当容易的任务。如果我正确地分析了您的数据,我认为没有必要进行迭代,一个简单的
INSERT INTO带条件就足够了。
标签: mysql loops database-cursor