AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MySql und Auto_Increment

MySql und Auto_Increment

Ein Thema von Andidreas · begonnen am 23. Jan 2006 · letzter Beitrag vom 25. Jan 2006
Antwort Antwort
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

MySql und Auto_Increment

  Alt 23. Jan 2006, 08:51
Datenbank: MySql • Version: 4.0.20 • Zugriff über: MySqlDac
hy

laut einem handbuch das ich mir gerade durchlese soll man auch im mysql die spalteneigenschaft Auto_Increment verwenden können...
leider tut der befehl bei mir nicht, meine syntax sieht wie folgt aus:

SQL-Code:
Create Table If Not Exists TestDB.TestTab3
(LfdNr Integer Auto_Increment)
hab ich was falsch geschrieben oder warum geht das net???
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

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

Re: MySql und Auto_Increment

  Alt 23. Jan 2006, 09:20
Moin,

folgendes funktioniert bei mir:
SQL-Code:
CREATE TABLE foobar (
   bar mediumint(8) UNSIGNED NOT NULL auto_increment
);
Versuch bei deinem Query dem Feld mal explizit "NOT NULL" zuzuweisen, ich glaube das ist die Bedingung fuer ein autoinc-Feld

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#3

Re: MySql und Auto_Increment

  Alt 23. Jan 2006, 10:24
Hai Andidreas,

evnetuell liegt es auch daran das mySQL auf einem AutoInc Feld einen Key erwartet.
SQL-Code:
CREATE TABLE `test` (
  `id` int(10) unsigned NOT NULL auto_increment,
  PRIMARY KEY (`id`)
)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

Re: MySql und Auto_Increment

  Alt 23. Jan 2006, 10:38
jupp es lag am primary key

folgendes statment funktioniert bei mir

SQL-Code:
Create Table If Not Exists TestDB.TestTab3 (
LfdNr Integer Auto_Increment,
Primary Key (LfdNr)
)
aber eins muss ich sagen mein handbuch is zum kotzen!!!!
die schreiben paar seiten vorher das die angabe von nem primary key so aussehen muss

SQL-Code:
 Create Table If Not Exists TestDB.TestTab4 (
Feld1 Integer Primary Key
)
und das die angabe in klammer wie im beispiel mit dem auto_increment net funktionert

ich bin jetzt leicht verwirrt!!!!
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: MySql und Auto_Increment

  Alt 23. Jan 2006, 10:49
Hai Andidreas,

bei meinem mySQL 5.x geht es auch so:
SQL-Code:
Create Table If Not Exists Test.TestTab4 (
LfdNr Integer unsigned Not Null Auto_Increment Primary Key
)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: MySql und Auto_Increment

  Alt 23. Jan 2006, 13:33
jepp funktioniert bei mir auch

für was is denn des unsigned zuständig, dass ergibt für mich keinen sinn!
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: MySql und Auto_Increment

  Alt 23. Jan 2006, 13:40
Zitat von Andidreas:
... für was is denn des unsigned zuständig, dass ergibt für mich keinen sinn!
Warum ergibt das keinen Sinn?
unsigned sagt dem mySQL das der Integer ohne Vorzeichen behandelt werden soll. Es werden also nur positive Werte zugelassen.
Da ein auto_inc keinen negativen Wert vergibt können wir also auch den gesamten zahlenbereich ausnutzen.

Wenn als Datentyp ein Int(eger) gewählt wurde hat dieses einen Zahlenbereich von
-2 147 483 648 bis 2 147 483 647

wenn zusätzlich unsigned angegeben wurde:
0 bis 4 294 967 295

Darum verwende ich bei auto_inc Feldern (nur eines pro Tabelle ist erlaub) immer unsigned.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

Re: MySql und Auto_Increment

  Alt 25. Jan 2006, 16:47
naja... ich muß ehrlich gesagt zugeben das ich nicht zu 100% die bedeutung von unsigned wußte...
von daher hab ich das unsigned mit dem not null falsch in verbindung gebracht

sorry denkfehler meinerseits
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:54 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