Wie erstelle ich ein berechnetes Feld in mysql?

8

Ich habe eine Tabelle wie folgt:

%Vor%

Nun möchte ich diese Tabelle ändern, um ein neues Feld zu haben, und dieses Feld muss den Standardwert

haben %Vor%

etwas wie unten:

%Vor%

wie geht das?
Danke für deine Hilfe

    
Alaa 21.11.2010, 07:44
quelle

2 Antworten

18

Pro MySQL Dokumente (Hervorhebung hinzugefügt) können Sie keine haben Ausdruck in einem Standardwert:

  

10.1.4. Standardwerte für den Datentyp

     

Die DEFAULT-Wertklausel in einem Datenelement   type specification gibt einen Standardwert an   Wert für eine Spalte. Mit einer   Ausnahme, Der Standardwert muss a sein   Konstante; es kann keine Funktion sein oder   ein Ausdruck . Dies bedeutet z   Beispiel, dass Sie nicht einstellen können   Standard für eine Datumsspalte ist die   Wert einer Funktion wie NOW () oder   AKTUELLES DATUM. Die Ausnahme ist das   Sie können CURRENT_TIMESTAMP als angeben   der Standardwert für eine TIMESTAMP-Spalte.

Ich habe getestet, dass der folgende Auslöser für Ihre Absicht funktioniert:

%Vor%     
bernie 21.11.2010, 08:38
quelle
6

Sie sollten einen Trigger schreiben, um diese Funktionalität zu erreichen, vorausgesetzt, dass MySQL eine md5-Funktion eingebaut hat oder Sie in der Lage sind, einen md5-Algorithmus für MySQL zu schreiben oder zu finden:)

Schauen Sie sich @ Ссылка

an

für die MD5-Funktion schauen Sie hier

Ссылка

Sie sollten auch wissen, dass MD5 kein sicherer Algorithmus mehr ist .

    
Ranhiru Cooray 21.11.2010 08:08
quelle

Tags und Links