MySQL Spalte als nicht beschreibbar einstellen

hibiscus

Neuer Benutzer
Beiträge
3
Hallo,

könnt ihr mir bitte weiterhelfen, wie ich bei einer MySQL Datenbank ein bestimmtes Feld, das sich "VETO" nennt mit einem Befehl nicht beschreibbar machen kann, damit dieses Feld immer leer bleibt?

Grüße, hibiscus
 
Werbung:
Wie ihr merkt bin ich ein kompletter newbee. Folgende Situation, ich bekomme aus einer Wawi durch eine Schnittstelle verbunden mit dem Onlineshop, Daten in den Shop geladen. Dabei möchte ich das ein Datenbankfeld keine Daten aus der Wawi in die Shopdatenbank schreibt.

Gibt es da eine Möglichkeit?
 
Wie ihr merkt bin ich ein kompletter newbee. Folgende Situation, ich bekomme aus einer Wawi durch eine Schnittstelle verbunden mit dem Onlineshop, Daten in den Shop geladen. Dabei möchte ich das ein Datenbankfeld keine Daten aus der Wawi in die Shopdatenbank schreibt.

Gibt es da eine Möglichkeit?

Ja, sagte ich ja schon. In PostgreSQL mal zur Demo:

Code:
test=# create table hibiscus (id int primary key, val1 int, val2 int);
CREATE TABLE
Time: 5,692 ms
test=*# create or replace function ignore_val2_insert() returns trigger as $$begin new.val2 := null; return new; end; $$ language plpgsql;
CREATE FUNCTION
Time: 0,565 ms
test=*# create or replace function ignore_val2_update() returns trigger as $$begin new.val2 := old.val2; return new; end; $$ language plpgsql;
CREATE FUNCTION
Time: 0,391 ms
test=*# create trigger trg1 before insert on hibiscus for each row execute procedure ignore_val2_insert();
CREATE TRIGGER
Time: 0,295 ms
test=*# create trigger trg2 before update on hibiscus for each row execute procedure ignore_val2_update();
CREATE TRIGGER
Time: 0,339 ms
test=*# insert into hibiscus values (1, 10, 20);
INSERT 0 1
Time: 0,586 ms
test=*# select * from hibiscus ;
id | val1 | val2
----+------+------
  1 |  10 |
(1 row)

Time: 0,235 ms
test=*# update hibiscus set val2=30 where id = 1;
UPDATE 1
Time: 0,531 ms
test=*# select * from hibiscus ;
id | val1 | val2
----+------+------
  1 |  10 |
(1 row)

Wie man sieht, wird sowohl bei INSERT als auch bei UPDATE der Value für val2 ignoriert. TRIGGER-based Lösung für Dein Problem.

Ob und wie das für MySQL geht? Vielleicht ähnlich, vielleicht gar nicht. Damit spiele ich nicht, ist für mich eher Kategorie 'Sondermüll'.[/code]
 
Werbung:
@hibiscus

Trigger sind Teil der DDL und werden per SQL definiert. Und natürlich kannst du per PMA auch Trigger mit SQL anlegen. Möglicherweise gibt es dafür mittlerweile auch GUI-Optionen. Aber da musst du schon selber schauen. Eine einfache »Read-Only Checkbox« gibt es aber ziemlich sicher nicht.

Gruß
Hony
 
Zurück
Oben