[BC3] [mysql]temporary veld vraag

Pagina: 1
Acties:
  • 71 views sinds 30-01-2008

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 06:47

HenkS

Da_king alias HenkS

Topicstarter
niemand? of ben ik ongeduldig of is mijn vraag zo onduidelijk?

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 06:47

HenkS

Da_king alias HenkS

Topicstarter
hallo ik heb nu deze code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?
dbconnect();



$sql_create = "CREATE TEMPORARY TABLE tmp ( tmp_id TINYINT not null AUTO_INCREMENT, soort VARCHAR (50), naam VARCHAR (50), PRIMARY KEY (tmp_id), INDEX (tmp_id), UNIQUE (tmp_id))";

$result=mysql_query($sql_create);





$sql_insert1 = "INSERT INTO tmp (soort, naam) SELECT test1.soort, test1.naam FROM test1 WHERE test1.soort=''koop''";

$result=mysql_query($sql_insert1);



$sql_insert2 = "INSERT INTO tmp (soort, naam) SELECT test2.soort, test2.naam FROM test2 WHERE test2.soort=''huur''";

$result=mysql_query($sql_insert2);





$sql_show = "SELECT naam, soort  from tmp ORDER BY naam";

$result = mysql_query($sql_show);



while($myrow = mysql_fetch_array($result))

{

echo "naam: ";

echo $myrow["naam"];

echo "<br>";



}
?>

lijkt me duidelijk wat dit doet, werkt ook goed.

maar nu heb ik een vraag, in bovenstaande creatie van de temp. table leg ik al vast welke velden de temp. table moet bevatten en van wat voor formaat ze moeten zijn.

nu wil ik dat mysql, dus de tmp tabel dit zelf beslist, en dus kijkt wat ik selecteer, nu vond ik dit in de mysql docs:

CREATE TEMPORARY TABLE tmp SELECT field1_index, field2_index FROM test_table WHERE field1_index = ''1''; INSERT INTO tmp SELECT field1_index, field2_index FROM test_table WHERE field2_index = ''1'';

zoals je hier boven dus ziet, geef je niet aan, wat voor type cq soort velden de temp tabel moet hebben, maar dit zoekt hij dus zelf uit (ja tenminste dit staat zo ongeveer in de mysql docs) maar wat is nu dus het probleem, dit laatste verhaal krijg ik zo niet werken, maar ik vraag me af waarom niet?

wie kan me helpen met die query, en dus wat ik al werkend had, in 1 statement te zetten zodat ik die velden niet hoef te declareren

Verwijderd

Ik wil ook gebruik maken van een temporary table, maar ik krijg het niet aan de praat.

Ik heb Apache webserver op een WinNT machine, misschien moet ik nog wat extra in de ini klooien?
Waar ligt het probleem?

Ik kan namelijk wel een temporary table aanmaken, dan geeft die geen problemen, maar zodra ik probeer iets te inserten zegt ie dat de tabel niet bestaat :(

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Open even een nieuw topic hiervoor.

Dit topic is nogal oud en ook niet echt duidelijk om je probleem in te noemen.

Overigens raad ik je aan de mysql manual te lezen: Temporary tables worden namelijk verwijderd zodra je de connectie verbreekt met de database (als je script klaar is dus) een volgend script kan er dan niets meer mee.

Dit topic is gesloten.