INSERT INTO problemer i mySQL

Tags:    mysql

Når jeg forsøger at opdatere en tabel med UPDATE, og jeg vil vælge alle dem hvor staffNo ikke eksisterer i tabellen propertyforrent, og så opdatere deres salary.

Kommandoen fungerer fint, men den siger 0 affected, changed 0, warnings 0. Men jeg kan se i tabellen at der er indtil flere der ikke eksisterer i propertyforrent, men er i staff.

SET SQL_SAFE_UPDATES=0;
UPDATE staff
SET salary = salary+salary*20/100
WHERE STAFFNO NOT IN (Select p.STAFFNO FROM propertyforrent p)

Nogen der har en idé :)?



4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Din UPDATE er korrekt. Fejlen kan skyldes at du har to SQL sætninger, altså både SET og UPDATE. Din klient eller funktion understøtter måske ikke dette.

Er det gennem PHP du udfører kommandoen?



Det er til en java applikation :) Jamen hvis jeg ikke SET safemode til false, så kan jeg ikke opdatere flere tubbles, og så er det useless :)
Bruger mysql workbench



MySQL Workbench burde ikke give problemer med det. Må vi se tabellerne?

Desuden - Er staff.staffno ikke en key?





Er ikke sikker på hvad hvad forskel det gør at den er en key :)?
- opdateret SQL statement
Fold kodeboks ind/udJava kode 

- staff tabellen
Fold kodeboks ind/udJava kode 


- Propertyforrent tabellen
Fold kodeboks ind/udJava kode 




Indlæg senest redigeret d. 12.03.2013 11:31 af Bruger #17368
t