ON DUPLICATE KEY - Fehlermeldungen ...

ON DUPLICATE KEY - Fehlermeldungen ...

am 31.07.2007 10:18:44 von thamos

Hi @ All,

ich habe vor die Performance meines Skriptes zu verbessern, dass Daten
in eine Datenbank importiert. Dazu werden aber Daten, bei denen
bestimmte Spalten gleich sind, aufaddiert.
So muss ich entscheiden, ob ich einen Update oder einen Insert machen
muss.
Jetzt habe ich den Zusatz bei Insert: "ON DUPLICATE KEY" gefunden.

hier ein Beispiel wie ich ihn verwende:

INSERT INTO `RLC_Deliveries_test`
(Number, Code, Year, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`,
`10`, `11`, `12`)
SELECT Number, Code, Year, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`,
`9`, `10`, `11`, `12`
FROM `RLC_Deliveries_add`
WHERE `uid`=3D'1'
ON DUPLICATE KEY UPDATE
`RLC_Deliveries_test`.`10`=3DValues(`RLC_Deliveries_test`.`1 0`)+'2',
`updating`=3D'y'

uid ist die automatisch Indizierte Spalte.
die Spalte 10 will ich in dem Update erhöhen.

Hier kommt aber die Fehlermeldung:
Column '10' specified twice

Kann mir jemand helfen?

Vielen Dank schonmal

Thomas

Re: ON DUPLICATE KEY - Fehlermeldungen ...

am 31.07.2007 12:32:19 von thamos

On Jul 31, 10:18 am, Thomas Behrens
wrote:
> Hi @ All,
>
> ich habe vor die Performance meines Skriptes zu verbessern, dass Daten
> in eine Datenbank importiert. Dazu werden aber Daten, bei denen
> bestimmte Spalten gleich sind, aufaddiert.
> So muss ich entscheiden, ob ich einen Update oder einen Insert machen
> muss.
> Jetzt habe ich den Zusatz bei Insert: "ON DUPLICATE KEY" gefunden.
>
> hier ein Beispiel wie ich ihn verwende:
>
> INSERT INTO `RLC_Deliveries_test`
> (Number, Code, Year, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`,
> `10`, `11`, `12`)
> SELECT Number, Code, Year, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`,
> `9`, `10`, `11`, `12`
> FROM `RLC_Deliveries_add`
> WHERE `uid`=3D'1'
> ON DUPLICATE KEY UPDATE
> `RLC_Deliveries_test`.`10`=3DValues(`RLC_Deliveries_test`.`1 0`)+'2',
> `updating`=3D'y'
>
> uid ist die automatisch Indizierte Spalte.
> die Spalte 10 will ich in dem Update erhöhen.
>
> Hier kommt aber die Fehlermeldung:
> Column '10' specified twice
>
> Kann mir jemand helfen?
>
> Vielen Dank schonmal
>
> Thomas

es kommt entweder "specified twice" oder er haut mir ein " ... in
field list is ambiguous " rein.
ist das ein Bug ?