AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken [mysql] insert und autoincrement
Thema durchsuchen
Ansicht
Themen-Optionen

[mysql] insert und autoincrement

Ein Thema von MrSpock · begonnen am 13. Mai 2010 · letzter Beitrag vom 14. Mai 2010
Antwort Antwort
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#1

[mysql] insert und autoincrement

  Alt 13. Mai 2010, 22:21
Datenbank: MySQL • Version: 5.1.45 • Zugriff über: PHP
Hallo,

habe ein php script, welches ein INSERT commando erzeugt:

Code:
INSERT INTO tab123 VALUES ('','$datum','$zeit','$sname','$semail','$swww','$seintrag','$ip')";
Der erste Wert, der hier als leere Zeichenkette übergeben wird, ist ein autoinc-Feld. Bis vor einiger Zeit hat die Anweisung funktioniert, jetzt meckert der Server (möglicherweise neuere Version), weil die erste Zeichenkette leer ist.


[edit=Matze]"i" in den Titel eingefügt, damit das Thema leichter über die Suchfunktion gefunden wird. MfG, Matze[/edit]
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: [mysql] insert und autoncrement

  Alt 13. Mai 2010, 22:24
Lass den ersten Wert weg:

insert into <Tabelle>(<Feldliste ohne ID-Feld>) values (<Werteliste ohne ID-Feld>);
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3

Re: [mysql] insert und autoncrement

  Alt 13. Mai 2010, 22:27
Hallo Markus,

hat sich da etwas geändert in der letzten Zeit?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: [mysql] insert und autoncrement

  Alt 13. Mai 2010, 22:28
sehe ich auch so. ich denke jeder andere DB-Server würde hier Meckern.

Ach ja. Auch bei PHP sollte man Parametrisierte Abfragen verwenden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#5

Re: [mysql] insert und autoncrement

  Alt 13. Mai 2010, 22:29
Könnte bei MySQL eventuell am "Server SQL Mode" (TRADITIONAL u. dgl.) liegen. Da gibt es mehrere Modi, die unter anderem bestimmen, wie bestimmte Eingabewerte gehandhabt werden...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: [mysql] insert und autoncrement

  Alt 13. Mai 2010, 22:34
Zitat von MrSpock:
Hallo Markus,

hat sich da etwas geändert in der letzten Zeit?
Dürfte sich eigentlich nicht. Ein Autowert findet nur Anwendung, wenn das Feld den Wert NULL hat. Möglicherweise hat aber die Zugriffsbibliothek das leere Feld nach NULL gewandelt.
Zitat:
sehe ich auch so. ich denke jeder andere DB-Server würde hier Meckern.
Jein. Bei DBMS, welche autoinc per Trigger händeln, kommr es auf diesen an, ob er auf is NULL überprüft oder nicht.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#7

Re: [mysql] insert und autoncrement

  Alt 13. Mai 2010, 22:47
Danke für alle Antworten. Ich nehme auch an, dass ds unsaubere Script nach einem Server Update jetzt auf die Nase gefallen ist. Mit der Angabe der Felder und der dazugehörigen Werte funktioniert es jetzt wieder. Ich habe schon über ein Jahr keinen Eintrag mehr in meinem Gästebuch gehabt (auf 2 verschiedenen Homepages) und nicht gemerkt, dass es wegen eines Scriptfehlers war. Es hat halt vorher funktioniert.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#8

Re: [mysql] insert und autoncrement

  Alt 14. Mai 2010, 09:12
Moin,

wenn du dort NULL uebergeben haettest, wuerde es funktionieren. Der SQL-Server meckert hier (vollkommen zu recht) rum, weil du ihm nen String als Integer verkaufst. Im Zweifel tuts auch eine 0 anstatt NULL um den Autoincrement zu triggern (IIRC), aber die sicherste Alternative ist immer noch das Ganze mit Prepared Statements zu erledigen. (bzw. alternativ ein ORM zu verwenden wenn du bisserl mehr Komfort haben willst)

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: [mysql] insert und autoncrement

  Alt 14. Mai 2010, 09:17
GGf durch entsprechenden Trigger für NULL sorgen
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz