MySql使用左连接插入2个不同的表

时间:2017-06-29 21:47:02

标签: php mysql foreign-keys relational-database left-join

当我在表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);

1 个答案:

答案 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