/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
[MySQL] ON UPDATE CASCADE ?
Fra : Stefan Kristensen


Dato : 22-01-10 23:27

Jeg opretter og populerer en tabel med nedenstående kode, og alt er fryd
og gammen
Men når jeg forsøger at lave en update:

update personnel set emp='Chuckie' where emp='Chuck';

får jeg en constraint fejl.
Burde ON UPDATE CASCADE ikke lade mig køre sådan en update?

Mvh
Stefan



CREATE TABLE personnel(
emp varchar(20),
boss varchar(20),
salary decimal(6,2),
PRIMARY KEY (emp),
CONSTRAINT boss_must_exist
FOREIGN KEY (boss)
REFERENCES personnel(emp)
ON UPDATE CASCADE
)ENGINE=INNODB;

INSERT INTO personnel VALUES('Jerry', null, 1000);
INSERT INTO personnel VALUES('Bert', 'Jerry', 900);
INSERT INTO personnel VALUES('Chuck', 'Jerry', 900);
INSERT INTO personnel VALUES('Donna', 'Chuck', 800);
INSERT INTO personnel VALUES('Eddie', 'Chuck', 700);
INSERT INTO personnel VALUES('Fred', 'Chuck', 600);

 
 
Arne Vajhøj (23-01-2010)
Kommentar
Fra : Arne Vajhøj


Dato : 23-01-10 00:02

On 22-01-2010 17:27, Stefan Kristensen wrote:
> Jeg opretter og populerer en tabel med nedenstående kode, og alt er fryd
> og gammen
> Men når jeg forsøger at lave en update:
>
> update personnel set emp='Chuckie' where emp='Chuck';
>
> får jeg en constraint fejl.
> Burde ON UPDATE CASCADE ikke lade mig køre sådan en update?

http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html
siger:

If ON UPDATE CASCADE or ON UPDATE SET NULL recurses to update the same
table it has previously updated during the cascade, it acts like
RESTRICT. This means that you cannot use self-referential ON UPDATE
CASCADE or ON UPDATE SET NULL operations. This is to prevent infinite
loops resulting from cascaded updates.

så det ser ud som om at du ikke kan kombinere ON UPDATE CASCADE med
en referance til samme tabel.

Arne

Stefan Kristensen (23-01-2010)
Kommentar
Fra : Stefan Kristensen


Dato : 23-01-10 00:08


>> Burde ON UPDATE CASCADE ikke lade mig køre sådan en update?
>
> http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html
> siger:

Ja, jeg sprang selvfølgelig lige afsnittet om Deviation from Standard
SQL over.
Tak fordi du så det

Mvh
Stefan

Arne Vajhøj (23-01-2010)
Kommentar
Fra : Arne Vajhøj


Dato : 23-01-10 00:29

On 22-01-2010 18:07, Stefan Kristensen wrote:
>>> Burde ON UPDATE CASCADE ikke lade mig køre sådan en update?
>>
>> http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html
>> siger:
>
> Ja, jeg sprang selvfølgelig lige afsnittet om Deviation from Standard
> SQL over.

Murhpy slår til igen.

Arne

Søg
Reklame
Statistik
Spørgsmål : 177417
Tips : 31962
Nyheder : 719565
Indlæg : 6407867
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste