Zum Inhalt springen

HIlfe bei MySQL


Arres

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 !

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...