将数据插入到连接表中

时间:2018-05-09 05:31:40

标签: mysql

我可以选择并加入,但我不能同时插入这些下表。如何将数据插入到连接表中?

  • company(cid, comp_name)

  • role(rid, role_name)

  • user(uid, user_name, cid, rid)

cidriduid是自动递增的主键。

我想接受来自前端应用的user_namecomp_namerole_name,并在用户表中输入带有相应cidrid的user_name。我可以从用户表加入后获取数据,但我不知道如何插入。

我写了一个查询:

INSERT INTO user ( user_name, cid, rid)
SELECT c.cid, r.rid FROM company c
    JOIN user u
    join role r ON c.cid = u.cid and r.rid=;

请帮忙。提前致谢

1 个答案:

答案 0 :(得分:0)

如果要同时插入三个不同的表。您必须进行三种不同的查询。

示例:

INSERT INTO user ( user_name, cid, rid) values (/*Variables for user_name, cid, rid*/)
INSERT INTO company( cid, comp_name) values (/*Variables for cid, comp_name. cid must have been same as cid above then store it in a variable and use it everywhere*/)
INSERT INTO role( rid, role_name) values (/*Variables for role*/)

如果不是您想要的,请清楚地解释您的问题。

或者您可以使用Scop_Identity() I-E “插入tbl1值 (@ name,@ age,@ address)

插入tbl2值 (scope_identity(),@ roidid)“