Ik wil uiteindelijk een deel van tabel_1 invoegen in tabel_2. Tabel_2 bevat reeds data die ik niet wil overschrijven. Ik zit wat te pielen met het overzetten van alle data in kleine db'jes maar ook dit wil nog niet erg. Dit is wat ik heb:
INSERT INTO `period_copy`(id, name, descr)
SELECT
(name, descr)
FROM
period
Beide tabellen hebben gelijke structuur. Ik probeerde ook al SELECT * en SELECT ALL, en SELECT id, maar dat vindt allemaal geen goedkeuring in de ogen van SQL.
Op zich is de foutboodschap best duidelijk, maar welke operand moet er nu 1 kolom bevatten?
Die kolom id moet je er uithalen daar deze waarschijnlijk auto increment is. Verder zou je misschien aliassen moeten gebruiken om zo duidelijk te maken wat wat is. Ik bedoel over welke kolom name we het hebben. Uit tabel A of B?

[size=xsmall]Toevoeging op 21/12/2019 19:21:31:[/size]

Toch nog even gekeken maar die haakjes moeten weg in de SELECT clause. Het volgende werkt wel:

INSERT INTO period_copy (name, descr)
SELECT name, descr
FROM period
Frank,
Dank voor de suggestie. Maar... dan krijg ik dit:
"Column count doesn't match value count at row 1"
Ook die boodschap heb ik vaker gezien: ik kan lezen wat er staat, maar begrijpen, ho maar.

Wanneer ik er in de Select van maak: id, name, descr; dan krijg ik dit:
Duplicate entry '1' for key 'PRIMARY'
Die begrijp ik, logisch al die regels hebben gelijke key's. Maar de vraag is: hoe kom ik er langs?
Ergens heb ik ooit gelezen om dan een fake nummer in te vullen, maar ook dat begreep ik niet.

Maar goed; die haakje moeten weg. Dat is duidelijk.
De kolommen in de INSERT (tussen de haakjes) moeten gelijk zijn aan de kolommen in de SELECT regel.

De foutmelding Duplicate entry 1... betekend dat je de kolom id aan het mee-kopiëren bent. Maar die moet UNIEK blijven in de tabel en dus kun je geen twee rijen hebben met id = 1.

Heb je mijn later toegevoegd voorbeeldje gezien?
Frank,
"Heb je mijn later toegevoegd voorbeeldje gezien?" Nee, dat had ik niet.
Een combinatie waar ik nog niet aan had gedacht: we gaan zien waar het toe leidt.

[size=xsmall]Toevoeging op 21/12/2019 22:29:38:[/size]

Het werkt!
Dank voor de "handleiding".

Reageren