Rijen kopieeren in tabel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

J C

J C

19/02/2013 22:18:16
Quote Anchor link
Hallo,

De titel is misschien wat misleidend, maar kon niets passenders bedenken.

Ik heb een tabel met daarin de teksten van een producten (korte omschrijving, lange omschrijving titel en foto titel.
Nu ben ik zover dat ik de producten in een andere taal wil gaan maken.

De structuur van het tabel is als volgt:

podium_product_taal_id
intern (koppelt deze rij aan het product)
taal (geeft de taal van deze rij aan)
naam (naam van het artikel)
omschrijving (spreekt voor zich)
omschrijving_kort (spreekt voor zich)
prijsalt (om een artikel een speciale prijs te geven, zoals: vanaf 2 euro / prijs opvraagbaar etc etc)

Nu heb ik heel veel producten zonder omschrijving, alleen de titelnaam is anders.
Nu wil ik graag alle rijen waarvan taal='NL' gaan kopieeren naar taal='EN'

Volgens mij krijg ik dan zoiets als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
INSERT INTO podium_product_taal2
 (
 intern,
 taal,
 naam,
 omschrijving,
 omschrijving_kort,
 prijsalt
 )
 SELECT
 intern,
 naam,
taal =`EN`,
 omschrijving,
 omschrijving_kort,
 prijsalt
 FROM
 podium_product_taal2
 WHERE
 taal = `NL`


(Ik gebruik een test tabel genaamd podium_product_taal2, normaal heet dit tabel podium_product_taal

Maar dit werk niet goed.

edit: te snel op enter gedrukt, foutmelding komt eraan.
foutlmelding:
Quote:
#1054 - Unknown column 'EN' in 'field list'



Toevoeging op 19/02/2013 23:03:09:

Ik heb het op een andere manier opgelost

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
INSERT INTO podium_product_taal2
 (
 intern,
 naam,
 omschrijving,
 omschrijving_kort,
 prijsalt
 )
 SELECT
 intern,
 naam,
 omschrijving,
 omschrijving_kort,
 prijsalt
 FROM
 podium_product_taal2
 WHERE
 taal = `NL`


In de structuur van het tabel heb ik de standaard warde van taal op EN gezet.
Gewijzigd op 19/02/2013 22:34:19 door J C
 
PHP hulp

PHP hulp

20/04/2024 13:31:32
 
Ivo Breeden

Ivo Breeden

20/02/2013 00:10:59
Quote Anchor link
Nee de eerste INSERT vond ik beter, maar met een paar kleine aanpassingen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
INSERT INTO podium_product_taal2
 (
 intern,
 taal,
 naam,
 omschrijving,
 omschrijving_kort,
 prijsalt
 )
 SELECT
 intern,
 naam,
 'EN',
 omschrijving,
 omschrijving_kort,
 prijsalt
 FROM
 podium_product_taal2
 WHERE
 taal = 'NL'

Je moet geen backquotes om strings zetten. Backquotes gebruik je (optioneel) om kolom- en tabelnamen aan te geven. Strings horen in single quotes. Dus ook de laatste 'NL'. (MySQL accepteert overigens ook de double quote om strings aan te geven, maar dat is niet de SQL standaard.)
 
J C

J C

20/02/2013 02:58:39
Quote Anchor link
Je hebt helemaal gelijk (2 keer), ik had inderdaad gewoon deze insert kunnen gebruiken.

De backquotes worden op 1 of andere manier door phpmyadmin erin gezet. (ik had het gekopieerd.)
Gewijzigd op 20/02/2013 02:59:08 door J C
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.