W SqlServer możemy używać NVarchar (MAX), ale nie jest to możliwe w sqlite. Jaki jest maksymalny rozmiar, jaki mogę podać dla Nvarchar (?)?Jaki jest maksymalny rozmiar, jaki możemy podać dla nvarchar w sqlite?
Odpowiedz
Nie ma maksimum w SQLite. Możesz wstawić ciągi o nieograniczonej długości (zależnie od pamięci i miejsca na dysku.) Rozmiar w instrukcji CREATE TABLE
jest mimo to ignorowany.
Jaki jest maksymalny rozmiar, jaki mogę podać dla Nvarchar (?)?
nie, bo Sqlite zignoruje wszystko nad 255
gdy określony wewnątrz NVARCHAR(?)
.
Zamiast tego należy użyć typu danych TEXT
wszędzie tam, gdzie jest potrzeba: NVARCHAR(MAX)
.
Na przykład, jeśli potrzebna jest bardzo duża kolumna ciągów do przechowywania wartości ciągów Base64 dla obrazów, można użyć czegoś podobnego do poniższej definicji kolumny.
LogoBase64String TEXT NULL,
SQLite tak naprawdę nie wymusza ograniczeń długości na długości łańcucha.
Zauważ, że numeryczne argumenty w nawiasach, że w następstwie typu nazwę (ex: „VARCHAR (255)”) są ignorowane przez SQLite - SQLite nie nie nakłada żadnych ograniczeń długości (inne niż dużego globalnego limitu SQLITE_MAX_LENGTH) na długości łańcuchów, wartości BLOB lub liczbowych .
Źródło www.sqlite.org/datatype3
Dzięki za informacje. Tak, akceptuje dowolną dużą liczbę. Nie wiedziałem o tym. Dzięki. – JPReddy
Istnieje jednak globalna maksymalna długość łańcucha/bloba, która domyślnie wynosi 1 000 000 000 bajtów (http://www.sqlite.org/limits.html). – dan04
Na telefonie z systemem Windows, używając SQL Lite, maksymalna jest 4000. Jeśli potrzebujesz większego, możesz użyć ntext (choć uważam, że jest to przestarzałe i może nie być w przyszłych wersjach). –