[Mysql] Variabele (Datum) als tabelnaam

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

  • Enfer
  • Registratie: Februari 2004
  • Laatst online: 10-04 15:19
Hey :)

Ik heb even een simpel vraagje wat me nu al een tijdje aan het zoethouden is, en waar ik dus niet uitkomt..

Ik ben dus bezig met mysql bezig, om een tabel op te zetten, en nu wil ik graag dat als ik elke dag een script run, er elke dag een nieuwe tabel word gemaakt en dat die tabel de naam draagt van de dag, zoals 27012006

Maar als ik dit probeer:
PHP:
1
2
3
4
5
6
7
8
9
$dag            = strftime ("%d%m%Y");
...
$query="CREATE TABLE $dag (
        id int(11) auto_increment primary key,
    skill varchar(50) not null,
        level varchar(50) not null,
        xp varchar(50) not null
)";
mysql_query($query);


Ik weet zeker dat ik alles goed connect enzo, want als ik die $dag verander naar bijvoorbeeld: test, dat werkt het wel.. Dus daar zit de fout zeer waarschijnlijk niet..
Waarom werkt dit niet? En hoe zorg ik ervoor dat het wel werkt?

[ Voor 14% gewijzigd door Enfer op 27-01-2006 17:49 ]


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Wellicht dat je de tabelnaam moet escapen indien hij begint met een nummer?
In MSSQL zou je hem [27012006] moeten noemen.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • iH8
  • Registratie: December 2001
  • Laatst online: 17-06-2024

iH8

maak van die $dag eens
code:
1
'" . $dag . "'

[ Voor 39% gewijzigd door iH8 op 27-01-2006 17:52 ]

Aunt bunny is coming to get me!


  • Enfer
  • Registratie: Februari 2004
  • Laatst online: 10-04 15:19
Nope, deze verandering:

PHP:
1
CREATE TABLE [$dag]


haalt weinig uit...

edit:
En ook na deze verandering :
PHP:
1
CREATE TABLE '" . $dag . "'

gebeurt er niets.. de tabel word niet gemaakt

Ik ben er al uit |:(
Een tabel mag niet geheel uit getallen bestaan, er moet minimaal 1 letter bij komen...
Domme mij |:( |:(

Toch bedankt voor jullie reacties :)

[ Voor 55% gewijzigd door Enfer op 27-01-2006 17:57 . Reden: Gevonden :P ]


  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 13-01 07:19
Het escape character in MySQL is de backtick `

Als je die om het getal zit kun je wel een tabel maken met een naam van alleen cijfers.

Het maken van een tabel per dag is ongebruikelijk en vaak onhandig. Waarschijnlijk klopt je datamodel niet.

Verwijderd

_js_ schreef op vrijdag 27 januari 2006 @ 18:48:
Waarschijnlijk klopt je datamodel niet.
Maak er maar gewoon van: je datamodel klopt niet. Voeg aan de tabel een kolom toe met de datum en je bent klaar.

  • whoami
  • Registratie: December 2000
  • Laatst online: 14-04 20:38
Waarom wil jij voor iedere dag een andere tabel ? :?

Ik ben het met Cheatah eens dat je data-model dan niet kan kloppen.

https://fgheysels.github.io/


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-04 17:49

NMe

Quia Ego Sic Dico.

Even opsommen wat er hier allemaal fout gaat:
  1. Identifiers mogen voor zover ik weet in (bijna?) géén ontwikkelomgeving òòit beginnen met een getal of alleen uit cijfers bestaan. Hoe je kan denken dat het in MySQL wel mag is me een raadsel.
  2. Je hebt niet in de manual gekeken.
  3. Je lapt alle normalisatieregels aan je laars door elke dag een nieuwe tabel te maken.
Misschien kun je maar beter even in de documentatie duiken, want dit is allemaal van een redelijk basisniveau.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.