Ich möchte eine neue Spalte zu einer Tabelle in der MySQL-Datenbank hinzufügen, die den Wert einer anderen Spalte in der gleichen Tabelle erhalten soll. Ist das möglich? Wenn ja, wie machst du das?Wie weisen Sie einen Spaltenstandard in MySQL dem Wert einer anderen Spalte zu?
Antwort
Ab MySQL 5.0.2 können Sie eine Stored Procedure schreiben, die mit einer TRIGGER
verknüpft ist. Sie kann die neue Spalte jedes Mal untersuchen, wenn eine Zeile eingefügt wird, und automatisch den Wert der anderen Spalte in die neue Spalte kopieren, wenn kein Wert angegeben wurde die neue Spalte.
erstellen Sie eine Ansicht, und Sie können die gleiche Spalte zweimal auswählen und geben Sie einen anderen Namen, dann kann die Anwendung die Ansicht stattdessen verwenden Sie die Tabelle direkt.
Ab 20101212 mysql unterstützt nicht standardmäßig 2 Zeitstempel Spalten, was bedeutet, dass Sie nicht erstellt und aktualisiert auf der gleichen Tabelle.
Wenn dies das ist, was Sie versuchen wollten, dann ist der Trigger mit dem gespeicherten Proc der richtige Weg.
Sie können diesen folgenden zwei Befehl verwenden, um Ihre Arbeit zu erledigen.
Dieser Befehl wird verwendet, um eine neue Spalte in Ihrer Tabelle hinzuzufügen. Merken Sie sich den Datentyp, von dem Sie kopieren möchten, um diesen Datentyp in der neuen Spalte zu verwenden.
ALTER TABLE table_name ADD new_column_name VARCHAR(60);
2: Dieser Befehl Daten aus alten Spaltennamen zu neuen Spaltennamen zu kopieren.
UPDATE table_name SET new_column_name = old_column_name;
Dann, wenn Sie vorherige Spalte löschen möchten, verwenden Sie können dann folgenden Befehl
ALTER TABLE table_name DROP COLUMN old_column_name;
- 1. So weisen Sie dem Attribut in angularjs einen Wert zu
- 2. Wie weisen Sie einer TensorFlow-Variablen einen Wert zu?
- 3. Wie weisen Sie einer Uint32-Variablen einen Wert zu?
- 4. Weisen Sie dem Schema collection2 einen Wert vom Benutzerprofil zu
- 5. Basisklassenreferenz - weisen Sie einen anderen Typ zu
- 6. TSQL - Wie überprüft man einen Wert vor einem Wert in einer anderen Spalte vor dem Einfügen?
- 7. Weisen Sie dem Connector in Modelica einen bestimmten Verbindungsstil zu.
- 8. Wie weisen Sie einer Remote-Combobox einen Wert zu und erhalten einen entsprechenden Datensatz in ExtJS6?
- 9. Behandeln Sie doppelte Daten, weisen Sie einen neuen Wert zu
- 10. Weisen Sie mehreren Zellen in Matlab einen Wert zu
- 11. Wie kann ich einen Wert in einer Spalte basierend auf einer anderen Spalte in Excel erhalten?
- 12. Wie kann ich Werte in einer Spalte basierend auf dem Wert in einer anderen Spalte zusammenfassen?
- 13. Jquery: So weisen Sie einem Funktionsaufruf einen JSON-Wert zu
- 14. C++ Weisen Sie zur Laufzeit einen const-Wert zu?
- 15. Versuchen, den Wert in einer Spalte basierend auf dem Wert einer anderen Spalte in derselben Zeile zu ändern
- 16. Weisen Sie mehreren Variablen denselben Wert zu
- 17. Weisen Sie Integer einen Wert zwischen zwei konstanten Werten zu?
- 18. Sass - Weisen Sie Variablen mit einer anderen
- 19. So weisen Sie einem assoziativen Array einen Wert zu
- 20. Mindestwert einer Spalte zu einem anderen Spalte Wert entsprechend
- 21. Lookup einen Spaltenwert in Datensatzgruppe auf dem Wert einer anderen Spalte basiert
- 22. Wie weisen Sie versteckten Variablen in JavaScript einen Nullwert zu?
- 23. Löschen von Duplikaten basierend auf dem Wert einer anderen Spalte
- 24. Wie weisen Sie bestimmten Stellen einer Matrix in MATLAB einen Wert zu?
- 25. Wie weisen Sie einer String-Variablen in C++ einen String-Wert zu?
- 26. Wie 1 zu dem Wert einer Spalte einer vorhandenen Zeile in Mysql
- 27. Wie Werte mit dem Referenzwert in einer Spalte zu erhöhen, in einer anderen Spalte
- 28. Wie sortiere ich eine Spalte in mysql und bekomme den sortierten Wert einer anderen Spalte?
- 29. Weisen Sie einer VBA-Variablen einen gespeicherten Prozedur-Rückgabewert zu
- 30. Weisen Sie dem MultiIndex DataFrame neue Werte zu
Danke für den Kommentar. Ich habe ursprünglich auch Auslöser gedacht, möchte mich aber von ihnen fernhalten. Da dies für meine unmittelbaren Bedürfnisse nicht sehr wichtig ist, gehe ich davon aus, dass dies in MySQL standardmäßig nicht möglich ist. Danke nochmal! –