MySQL 4.0.16 - standardwert wird nicht richtig gesetzt

MySQL, PostgreSQL, SQLite
unique
Posts: 40
Joined: 2003-03-24 20:05

MySQL 4.0.16 - standardwert wird nicht richtig gesetzt

Post by unique » 2004-02-06 16:42

hallo community,

ich habe auf meinem server einen online-shop laufen. dort gibt es in der tabelle "customers" ein feld "customers_default_address_id". dort muss, wenn nicht anders angegeben, der wert standardmässig auf 1 gesetzt werden, damit die adresse richtig referenziert wird.
dieser standardwert ist auch auf 1 gesetzt. wenn ich allerdings einen eintrag hinzufüge (egal ob direkt aus dem shop oder in pma) steht der wert immer auf 0. daher kommt es zu einem fehlverhalten innerhalb des shops.

kann mir irgendjemand sagen, woran das liegen und wie man es beheben kann? wäre ziemlich wichtig, da es sich um einen laufenden (und nicht meinen) shop handelt!!!

Bin für jeden guten tip dankbar!

gruss unique

outofbound
Posts: 470
Joined: 2002-05-14 13:02
Location: Karlsruhe City

Re: MySQL 4.0.16 - standardwert wird nicht richtig gesetzt

Post by outofbound » 2004-02-06 16:48

Igitt, "Fehlverhalten"... ;)

Du willst ein DEFAULT 1 auf die Spalte anwenden. ;)

(Vorsicht beim Quoten von Zahlen, "1" != 1... nicht immer zumindest)

Gruss,

Out

unique
Posts: 40
Joined: 2003-03-24 20:05

Re: MySQL 4.0.16 - standardwert wird nicht richtig gesetzt

Post by unique » 2004-02-06 17:59

hat leider nicht funktioniert. habs mit

Code: Select all

ALTER TABLE `customers` CHANGE `customers_default_address_id` `customers_default_address_id` INT( 5 ) DEFAULT '1' NOT NULL 
und mit

Code: Select all

ALTER TABLE `customers` CHANGE `customers_default_address_id` `customers_default_address_id` INT( 5 ) DEFAULT 1 NOT NULL 
probiert.
beides wird ohne fehlermeldung akzeptiert - funktionieren tut leider beides nicht...

suntzu
Posts: 669
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: MySQL 4.0.16 - standardwert wird nicht richtig gesetzt

Post by suntzu » 2004-02-06 18:05

Hi,

wie genau sehen deine INSERT-Statements aus? Bei PMA musst du darauf achten, keinen Wert für die Spalte anzugeben.
Ach ja, und bestehende 0-en werden nicht in 1 umgewandelt, der Default-Wert gilt nur für per Insert hinzugefügte Zeilen.

unique
Posts: 40
Joined: 2003-03-24 20:05

Re: MySQL 4.0.16 - standardwert wird nicht richtig gesetzt

Post by unique » 2004-02-06 19:15

per pma sieht das insert-statement so aus:

Code: Select all

INSERT INTO `customers` ( `customers_id` , `customers_gender` , `customers_firstname` , `customers_lastname` , `customers_dob` , `customers_email_address` , `customers_default_address_id` , `customers_telephone` , `customers_fax` , `customers_password` , `customers_newsletter` ) 
VALUES (
'', 'f', 'mario', 'muster', '1950-12-12 00:00:00', 'test@test.com', '', '123456', NULL , 'asdfasdf', NULL 
);
so funktioniert das auf jeden fall nicht.
wie das statement aus dem shop aussieht, weiss ich nicht (bin nicht so der php-coder). es hat auf jeden fall den selben effekt. ich nehme an, es wird genauso aussehen, da man ja auch die möglichkeit hat eine andere adresse als standard anzugeben - daher wird dieses feld mit ziemlicher sicherheit mitgesetzt (standardmäßig leer - wie oben).
die id wird mit dem obigen statement auf jeden fall richtig gesetzt (autoinkrement).

ich verstehe nicht, woran das liegt.... :cry: