2017-05-09 8 views
-1

Wie Folgendes zu tun:MySQL: Update Spalte, wenn es existiert sonst nichts tun?

if table has column 'name' - update 'name', else - do nothing? 

Meine Arbeits SQL in einer Transaktion

ist
UPDATE tmp set name = NULL 

tmp Tabelle kees den Datensatz in NULL zu aktualisieren und für doppelte Prozedur Namen Drehen erforderlich ist. Einige Tabellen haben jedoch kein Feld "Name".

Also, ist es möglich, Spalte auf Null zu aktualisieren, wenn vorhanden, sonst nichts tun?

+1

Ich verstehe nicht Downwotes, aber, für diejenigen, die das gleiche Problem hatten - Lesen von (oder Schreiben zu) eine Spalte, die nicht ohne Fehler existiert (zB stille ignorieren) ist nicht möglich mit mysql . Der Spaltenname (Existenz einer Spalte in einer Tabelle) soll bekannt sein. Problemumgehung - Lesen Sie das erste Informationsschema, um alle Spaltennamen zu erhalten, und fahren Sie entsprechend fort. Der Prozess erfordert, dass die Transaktion mit mehreren sqls fortfährt. – bbe

Antwort

0

Soweit ich weiß ist es nicht möglich. Außerdem würde ich empfehlen, niemals an mehreren Tischen gleichzeitig Änderungen vorzunehmen. Im Allgemeinen ist jede Tabelle eindeutig und das Setzen von Feldern auf NULL basierend auf nur einem Feldnamen kann zum Verlust wichtiger Daten führen.

Verwandte Themen