我需要在表中添加一些记录,但只能添加与某个链接表匹配的记录。 有三个表如下:
extension_prefs (extension_id, value, parameter)
extension (id, client_id)
client (id, parent_client_id)
这些链接如下:
extension_prefs.extension_id = extension.id AND extension.client_id = client.id
对于属于具有特定extension_prefs
的客户端的每个扩展,我需要向parent_client_id
插入4条记录。我不知道实现这个的语法,虽然我觉得它很简单。
非常感谢
乔治
答案 0 :(得分:0)
您可以针对每个首选项调用以下查询,并将保存所有必需的扩展名。
更新: 以下查询为首选项插入新行,如果存在则更新现有行 这假设extension_prefs表对extension_id和参数列具有唯一约束。
INSERT INTO extension_prefs (extension_id, parameter, value)
SELECT e.id, "key", "value"
FROM extension e
JOIN client c ON e.client_id = c.id
WHERE c.parent_client_id = 123
ON DUPLICATE KEY
UPDATE value = "value"