【发布时间】:2017-06-29 21:47:01
【问题描述】:
当在表 B 中为匹配记录创建新记录时,我正在尝试更新表 A 中的时间戳列。它是一个记录链接的关系数据库。在表 B 中创建新记录时,它会引用表 A 中已建立的记录。如果不链接到 A 中的记录,则无法在 B 中创建新记录。
表 A:id、姓名、日期、地址、时间戳
表 B:id、a_id、代理、评论
在哪里 b.a_id = a.id
我浏览过这些论坛,似乎得到了相互矛盾的答案。我将使用什么 sql 查询来完成这项工作?我需要使用某种类型的 JOIN 吗?这是我所在的位置:
INSERT INTO b ( a_id, agent, comment)
VALUES ( 1008, 'TEST', 'Hello world!');
INSERT INTO a (timestamp)
VALUES ((SELECT id FROM b WHERE b.a_id = a.id), current_timestamp);
【问题讨论】:
-
您不能使用
joins在单个查询中更新多个表。如果我理解正确dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html,您可能会查看triggers -
@ramraider 当然可以
-
您的意思不是查询,而是更新命令。
标签: php mysql foreign-keys relational-database left-join