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
MySQL 4.0.16 - standardwert wird nicht richtig gesetzt
-
- Posts: 470
- Joined: 2002-05-14 13:02
- Location: Karlsruhe City
Re: MySQL 4.0.16 - standardwert wird nicht richtig gesetzt
Igitt, "Fehlverhalten"... ;)
Du willst ein DEFAULT 1 auf die Spalte anwenden. ;)
(Vorsicht beim Quoten von Zahlen, "1" != 1... nicht immer zumindest)
Gruss,
Out
Du willst ein DEFAULT 1 auf die Spalte anwenden. ;)
(Vorsicht beim Quoten von Zahlen, "1" != 1... nicht immer zumindest)
Gruss,
Out
Re: MySQL 4.0.16 - standardwert wird nicht richtig gesetzt
hat leider nicht funktioniert. habs mit
und mit
probiert.
beides wird ohne fehlermeldung akzeptiert - funktionieren tut leider beides nicht...
Code: Select all
ALTER TABLE `customers` CHANGE `customers_default_address_id` `customers_default_address_id` INT( 5 ) DEFAULT '1' NOT NULL
Code: Select all
ALTER TABLE `customers` CHANGE `customers_default_address_id` `customers_default_address_id` INT( 5 ) DEFAULT 1 NOT NULL
beides wird ohne fehlermeldung akzeptiert - funktionieren tut leider beides nicht...
Re: MySQL 4.0.16 - standardwert wird nicht richtig gesetzt
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.
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.
Re: MySQL 4.0.16 - standardwert wird nicht richtig gesetzt
per pma sieht das insert-statement so aus:
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....
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
);
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....