MySQL INSERT INTO SELECT SET

stemmer
0

Jeg prøver å kopiere en tabell til kolonnene i en annen tabell, men datofeltene er ikke gyldig (Dato er som '00000000') for noen av kolonnene så jeg prøver å sjekke om datoen er gyldig og jeg m prøver å sette det NULL hvis så. Eksempel,

INSERT INTO table1 (ID, FirstName, LastName, @BD) SELECT * FROM table2
SET Birthday = IF(@BD = '00000000', NULL, CAST(@BD as DATE))

Dette formatet fungerer for BELASTNING mens lasting av data fra en CSV-fil, men gir og feil ordtak syntaksen er feil. Dessuten TABLE2 kolonner er i denne rekkefølgen ID, Fornavn, Etternavn-, og fødselsdag. Takk på forhånd!

Publisert på 19/09/2018 klokken 13:33
kilden bruker
På andre språk...                            


1 svar

stemmer
3

Har du prøvd å konvertere under velger i stedet

INSERT INTO table1 (ID, FirstName, LastName, Birthday) 
SELECT ID, FirstName, LastName,
  CASE BirthDay 
    WHEN '00000000' THEN NULL
    ELSE CAST(BirthDay as DATE) 
  END 
FROM table2
Svarte 19/09/2018 kl. 13:44
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more