2017-04-03 3 views
-5

Ich möchte plane_id in Bookhangar Tabelle wo Buch Spalte mit Wert "Nein" einfügen. meine bookhangar Tisch istOrakel sql Entwickler Update Abfrage

hangar_id | book | plane_id 
-------------------------------   
han103 | no | null 

han104 | yes |pla102 

meine versuchte Abfrage ist

insert into bookhangar (plane_id) values('pla104') where book='no'; 

aber es eingefügt doesnot.

habe ich versucht, eine andere Abfrage

update bookhangar set plane_id='PLA104' where book='no'; 

Es doesnot auch funktionieren.

+0

Erstens kann man nicht 'verwenden where' Klausel in einer INSERT-Anweisung außer in' Einsatz ... select..where '. Und welche Fehlermeldung haben Sie für diese Update-Anweisung erhalten? – JSapkota

+0

Welche Bedeutung könnte "INSERT IN WO" haben? –

Antwort

0

Es wird aktualisiert, wenn es irgendeine Zeile Wert enthält ‚Nein‘

update bookhangar set plane_id='PLA104' where lower(trim(book))='no'; 
+0

wow ... Es funktioniert jetzt .... Ihre Abfrage funktioniert für mich ... Vielen Dank – Aadhii

0

Ihr Update sollte funktionieren:

update bookhangar 
    set plane_id = 'PLA104' 
    where book = 'no'; 

Wenn dies nicht der Fall, ich durch die Überprüfung beginnen würde, wenn diese Abfrage

select * 
from bookhangar 
where book = 'no'; 

arbeitet vermute ich, dass keine Zeilen zurück. Also, versuchen Sie dies:

select * 
from bookhangar 
where book like '%no%'; 

Sie müssen untersuchen, welchen Wert wirklich gespeichert wird. . . Vielleicht hat es versteckte Zeichen wie Leerzeichen am Anfang der Zeichenfolge.

+0

Meine Tabelle hat Wert ... und wählen Sie * aus Bookhangar wo Buch = "Nein"; Die obige Abfrage gibt einen Wert zurück .... Ich habe eine Lösung .... Die Lösung ist update bookhangar set plane_id = 'PLA104' wo niedriger (trim (book)) = 'no'; – Aadhii