MYSQL inserting records form table A into tables B and C (linked by foreign key) depending on column values in table A

Posted by Chez on Stack Overflow See other posts from Stack Overflow or by Chez
Published on 2011-01-08T00:09:51Z Indexed on 2011/01/08 0:53 UTC
Read the original article Hit count: 144

Hi All,

Have been searching high and low for a simple solution to a mysql insert problem. The problem is as follows:

I am putting together an organisational database consisting of departments and desks. A department may or may not have n number of desks.

Both departments and desks have their own table linked by a foreign key in desks to the relevant record in departments (i.e. the pk). I have a temporary table which I use to place all new department data (n records long)...In this table n number of desk records for a department follow the department record directly below. In the TEMP table, if a column department_name has a value,it is a department, if it doesn't it will have a value for the column desk and therefore will be a desk which is related to the above department. As I said there maybe several desk records until you get to the next department record.

Ok, so what I want to do is the following:

Insert the departments into the departments table and its desks into the desks table , generating a foreign key in the desk record to the relevant departments id.

In pseudo-ish code:

for each record in TEMP table
if Department
   INSERT the record into Departments
   get the id of the newly created Department record and store it somewhere
else if Desk
   INSERT the desk into the desks table with the relevant departments id as the foreignkey

note once again that all departments desks directly follow the department in the TEMP Table

Many Thanks

© Stack Overflow or respective owner

Related posts about mysql

Related posts about select