Avatar billede drc_666 Nybegynder
25. december 2005 - 22:05 Der er 13 kommentarer og
1 løsning

alt. til to auto_increment koloner

skal have ind sætte en auto_increment værdi i to koloner ID og global_id. så at hvis der er 24 rækker i en tabel bliver der med insert indsat en ny række med ID og global_id lig med 25 kan ikke lige se nogen lige til løsning (udover at have to auto_increment koloner, men mener at der ikke kan lade sig gøre), såjeg håber der er nogen der kan komme med en nem løsning. eventuelt med hvis man ikke kan have to koloner med auto_increment en forklaring herpå, så jeg kan blive lidt klogere
Avatar billede arne_v Ekspert
25. december 2005 - 22:26 #1
du kan ikke have mere end en auto increment kolonne i en tabel

en mulighed var måske at have en global tabel med en auto increment id, indsætte
i den og bruge den genererede id til at indsætte i din tabels global_id felt

ellers så skan du flytte id genereringen fra databasen til din applikation
Avatar billede drc_666 Nybegynder
25. december 2005 - 23:59 #2
arne_v: ellers så skan du flytte id genereringen fra databasen til din applikation
ved du hvordan i php
Avatar billede arne_v Ekspert
26. december 2005 - 12:51 #3
Nu er jeg ikke ekspert i PHP, men hvis de bare skal være unikke uden at behøve være
heltal og stigende så:

http://www.php.net/manual/en/function.uniqid.php
http://lab.artlung.com/make-unique-id/
http://www.phpclasses.org/browse/package/2008.html
Avatar billede drc_666 Nybegynder
26. december 2005 - 16:04 #4
brugte

$ny_sub=mysql_query("INSERT INTO $subtable (ID, MAIN, NAME, LINK) VALUES ('', '$main','$sub_rub','$LINK')");
$ny_=mysql_query("INSERT INTO $subtable (global_id) VALUES (".mysql_insert_id().") where ID = '".mysql_insert_id()."'");
Avatar billede arne_v Ekspert
26. december 2005 - 16:24 #5
med den kode må man jo stille spørgsmålet: hvorfor 2 felter ?

(skal den sidste INSERT iøvrigt ikke være en UPDATE ?)
Avatar billede drc_666 Nybegynder
26. december 2005 - 16:27 #6
update? jo det kan du have ret i

hvorfor 2 felter? mener du 2 id felter
Avatar billede arne_v Ekspert
26. december 2005 - 16:54 #7
2 felter med ens værdi
Avatar billede drc_666 Nybegynder
26. december 2005 - 17:00 #8
tabelen indeholder data til en menu med felterne global_id, ID, MAIN, NAME, LINK

hvor global_id er feltet som bruges til gekende rækken og

ID er til at bestemme i hvilken rækkefølge som menu'en skal vises i"ORDER BY ID"
og det er den som jeg kan ændre række følg i menu'en med
Avatar billede arne_v Ekspert
30. december 2005 - 23:13 #9
nu kan jeg se pointen
Avatar billede drc_666 Nybegynder
31. december 2005 - 13:25 #10
kan man skrive den om til en sætning
$ny_sub=mysql_query("INSERT INTO $subtable (ID, MAIN, NAME, LINK) VALUES ('', '$main','$sub_rub','$LINK')");
$ny_=mysql_query("update $subtable (global_id) set (".mysql_insert_id().") where ID = '".mysql_insert_id()."'");
Avatar billede arne_v Ekspert
03. januar 2006 - 19:34 #11
den sidste skal vel være

$ny_=mysql_query("update $subtable set global_id = ".mysql_insert_id()." where ID = ".mysql_insert_id());
Avatar billede arne_v Ekspert
03. januar 2006 - 19:35 #12
hvis du er på MySQL 5.0 var en trigger oplagt

men ellers tror jeg ikke at det kan laves i en SQL sætning
Avatar billede drc_666 Nybegynder
03. januar 2006 - 20:46 #13
løste opgave med dit første bud (ellers så skan du flytte id genereringen fra databasen til din applikation)

læg et svar og få point
Avatar billede arne_v Ekspert
03. januar 2006 - 20:47 #14
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester