Avatar billede wetdog Nybegynder
12. januar 2001 - 08:50 Der er 4 kommentarer og
1 løsning

JOIN i UPDATE

Hejsa

CREATE TABLE kategori (
id int(2) not null primary key auto_increment,
txt varchar(15));

CREATE TABLE film (
titel varchar(50),
kat int(2),
kat_txt varchar(15));

Hvorfor virker flg. ikke ?

UPDATE film INNER JOIN kategori ON film.kat = kategori.id SET
film.kat_txt = kategoti.txt;

WetDog
Avatar billede defrost Nybegynder
12. januar 2001 - 09:01 #1
I Mysql kan du ikke opdatere et felt baseret på et felt i en anden tabel.
Avatar billede kasseper Nybegynder
12. januar 2001 - 09:02 #2
Det er en forkert syntaks....
Hvad er det du vil ????
Avatar billede defrost Nybegynder
12. januar 2001 - 09:09 #3
create table tmp_film {
titel varchar(50),
kat int(2),
kat_txt varchar(15));

lock table tmp_film write, film write, kategori read;
insert into tmp_film select film.titel, film.kat, kategori.txt from film, kategori where film.kat = kategori.id;
delete from film;
insert into film select * from tmp_film;
unlock tables;

Utestet, men bør gøre det, du vil. Ved godt, at det er besværligt, men den eneste måde jeg kan komme i tanke om, at det kan laves i ren SQL i MySQL.
Avatar billede defrost Nybegynder
12. januar 2001 - 09:09 #4
Ups.. Min CREATE TABEL er forkert:


create table tmp_film (
titel varchar(50),
kat int(2),
kat_txt varchar(15));

Den skulle selvf. være sådan. :)
Avatar billede wetdog Nybegynder
12. januar 2001 - 09:12 #5
\"I Mysql kan du ikke opdatere et felt baseret på et felt i en anden tabel. \"

var svaret jeg ledte efter :-)

takker

Jeg tester dit forslag iaften

WetDog
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester