当我在表B中为匹配记录创建新记录时,我试图更新表A中的timestamp列。它是一个记录链接的关系数据库。在表B中创建新记录时,它会引用表A中已建立的记录。您无法在B中创建新记录而不链接到A中的记录。
表A:ID,名称,日期,地址,时间戳
表B:id,a_id,代理,评论
WHERE 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);
答案 0 :(得分:0)
很难理解你想要完成什么。您是否尝试更新{
attribute1: { $regex: <searchTerm1>, $options: 'i' };
attribute2: { $regex: <searchTerm2>, $options: 'i' };
attribute3: { $regex: <searchTerm3>, $options: 'i' };
}
中a_id为1008的行中的时间戳?
a
我会按照上面的说明完成。执行INSERT到INSERT INTO b (a_id, agent, comment)
VALUES (1008, 'TEST', 'Hello world!');
UPDATE a SET timestamp = CURRENT_TIMESTAMP WHERE id = 1008;
,然后更新b
。
如果您希望它自动发生,您可以使用触发器:
a