Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hallo zusammen,

ich will in mysql eine datenbank mit zeitstempel anlegen, allerdings wird der zeitstempel immer auf 0000-00-00 00:00:00 gesetzt. so sieht die spaltendeffinition in etwa aus:

create table $tabelname(

kundennummer int not null default 0 auto_increment primary key,

zeitstemper datetime not null default \"0000-00-00 00:00:00\",

nachname char(50) not null default \"\"

)

ich bin für jede hilfe dankbar.

thx Hal

Geschrieben

Hä?

Du setzt doch da den Default Wert auf 0000-....? Is doch klar dass er dann den Wert hat wenn nicht anders gesetzt.

Ausserdem gibts nen extra Datenbank Board :-/

Geschrieben

mit default geb ich den wert an, den der datentyp auf keinen fall haben darf, aber merkwürdiger weise wird er trotzdem auf 0000-.... gesetzt und genau das versteh ich nicht!

Geschrieben

Mit default gibt man den Wert an, der reingeschrieben wird, falls man beim Einfügen für diese Spalte nichts angibt also wo sonst null drin stehen würde.

Deswegen ist default bei ner autoincrement Spalte auch vollkommen sinnlos.

Am besten du postet mal den Programmcode, der bei dir die Daten in die Datenbank schreibt.

Gruß Jaraz

Geschrieben
Original geschrieben von Jaraz

Am besten du postet mal den Programmcode, der bei dir die Daten in die Datenbank schreibt.

Meine Kristallkugel ist nämlich gerade kaputt.

Gruß Jaraz

Geschrieben

Wenn ich mit

$sql = "insert ".$tabellenname." (nachname) values('".$name."')";

$erg = mysql_db_query($dbname, $sql, $verbindung);

Daten in die Datenbank schreib muss mit datetime(mit timestamp funktioniert es ja), wie oben beschrieben das aktuelle datum und uhrzeit in die datenbank eingefügt werden.

der fehler muss irgendwo bei

create table $tabelname(

kundennummer int not null auto_increment primary key,

zeitstemper datetime not null,

nachname char(50) not null default \"\"

)

liegen

Hal

Geschrieben

Morgen.

1. deine Insert Anweisung entspricht nicht gerade der Norm. Wo ist das "into" ?

2. DateTime ist meines Wissens kein TimeStamp sondern nichts weiter als ein Datentyp, in dem du eine Zeit oder ein Datum manuell eingeben kannst. Wenn du den in das Feld einen TimeStamp einfügen möchtest, mach das doch über die Insert Anweisung. Denn das Datum und die Zeit hast du ja eh (now() <- SysZeit).

Für ein MySQLHandbuch schau mal unter dem Link nach.

Gruß

UBAI - Kaum macht mans richtig, schon funktionierts !

Geschrieben

Aha der Nebel lichtet sich.

Bei timestamp fügt mysql automatisch die Funktion now() ein.

Bei datetime nicht. Du musst also so einfügen.

$sql = "insert ".$tabellenname." (nachname, zeitstempel) values('".$name."', NOW() )";

Gruß Jaraz

Nachtrag: Das nächste mal bitte direkt alle relevanten Informationen posten, dann gehts schneller.

PS: @ UBAI into ist bei mysql optional

Geschrieben

Vielen dank leute, ich werd das nächste mal versuchen mein problem besser zu beschreiben.

und nochmal danke für eure hilfe

Hal

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...