Gå til innhold

Legg inn data på to tabeller, med samme ID


Anbefalte innlegg

Skrevet (endret)

Jeg har nå en spørring, en ganske enkelt en som er slik:

 

INSERT INTO
pm_projects
(project_name, description, deadline, created_by, last_updated)
VALUES
('$project_name','$description', '$formatted_deadline', '$userinfo['user_id']', '$formatted_deadline')

 

Dette fungerer ypperlig og på tabellen pm_projects genereres da en automatisk ID på raden project_id.

 

Utfordringen kommer da på samme spørring, hvor jeg skal legge inn data på en tabell som heter pm_project_members. pm_project_members har to viktige rader, det er project_id (som er INT(10)) og en user_id (INT(10)). Her vil jeg at når dataen legges inn på pm_projects og pm_project_members så skal project_id på begge tabellene være like, slik at jeg senere kan hente ut data fra både pm_project_members og pm_projects med en samme project_id.

 

Problemet ligger jo hovedsaklig i at pm_projects inneholder kun prosjektinfo (som kun bruker 1 rad per prosjekt) mens pm_project_members kan ha alt fra 1 til 200 medlemmer.

 

Har noen forslag til hvordan dette løses?

Endret av salah
Videoannonse
Annonse
Skrevet

Bare en ide. Lenge siden jeg har gjort dette, men jeg kunne tenkte meg følgende:

 

Hvis du i spørringen din, henter (etter du har satt inn) project_iden fra pm_projects og bruker den som id på pm_project_members ?

 

Det er vel ikke slik at du må bruke en automatisk oppdatert id på pm_project?

Skrevet

Problemet er at jeg må få tak i siste project_id fra pm_projects og putte det inn i project_id på pm_project_members via SQL.

 

Det må da gå ann å be MySQL hente ut den siste project_id fra pm_projects og putte den i pm_project_members?

Skrevet

mysql_insert_id() ?

 

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
   die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...