das entspricht VARCHAR
MySql unterstützt nchar und nvarchar aber auf andere Weise Dies wird mithilfe von Zeichensatz und Kollation implementiert (eine Gruppe von Regeln, die für den Vergleich von Zeichenfolgen mit dem Zeichensatz verwendet werden - z. B. ob der Vergleich die Groß-/Kleinschreibung berücksichtigen soll oder nicht).
MySql definiert Zeichensatz bei 4 Level:
Server
Datenbank
Tabelle
Spalte
Zeichensatz aus der unmittelbaren obersten Ebene vererbt wird, wenn Sie keinen festlegen. Was Sie tun müssen, ist sicherzustellen, dass die Spalte, die Sie vom Typ nvarchar machen wollen, "character set" auf einen beliebigen Unicode-Zeichensatz gesetzt hat (utf8 ist die beste Wahl, glaube ich), entweder explizit oder durch Vererbung.
Für Spaltenebene können Sie „Zeichensatz“ wie folgt festgelegt:
create table nvarchar_test
(
_id varchar(10) character set utf8,
_name varchar(200) character set ascii
)
Im obigen Beispiel _id werden in der Lage sein, 10 Unicode-Zeichen zu nehmen und _name werden in der Lage sein, 100 Unicode-Zeichen zu nehmen (jedes Unicode Zeichen wird zu zwei ASCII-Zeichen)
Bitte gehen Sie durch MySql Verweis für weitere Erklärung.
von dem, was ich lese, nvarchar (n) kann 1 bis 4000 Zeichen speichern - nicht wirklich meine Definition von „sehr langen Textdokumenten“. Sicher hast du das gemeint? –
NVARCHAR (MAX) ist für die langen Sachen. Nicht VARCHAR (n). –