Wie ein default-Wert in eine TEXT-Spalte in Sqlite?
Habe ich eine einfache Tabelle. Ich versuche ein default-Wert einer Spalte TEXT ein. Hier ist die Tabelle, Abfrage:
"CREATE TABLE book(_id INTEGER PRIMARY KEY AUTOINCREMENT, book_id TEXT NOT NULL DEFAULT '0', book_name TEXT NOT NULL);"
Er erstellt die Tabelle, aber das problem tritt auf, wenn ich versuche, legen Sie eine Daten. Ich war erst versucht mit zu geben, ein Buch name, book_name, wie ich erwartet hatte, dass die book_id würde ein Standard-Wert 0-Spalte. Aber es funktioniert nicht, und es fügt den Wert null, so wird die Zeile nicht eingefügt bekommen. Ich habe auch versucht, mit dieser Abfrage:
"CREATE TABLE book(_id INTEGER PRIMARY KEY AUTOINCREMENT, book_id TEXT NOT NULL DEFAULT \'0\', book_name TEXT NOT NULL);"
Aber das problem bleibt das gleiche. Ich habe gesucht dem stack-überlauf, und bekam einige Antworten, aber Sie sind alt und funktioniert nicht für mich jetzt. So hat sich etwas geändert, wie man den default-Wert in eine TEXT-Spalte in sqlite. Vielen Dank im Voraus 🙂
BEARBEITEN
Hier ist der insert-Anweisung:
database.insert("book", null, cv);
Hier cv ist das Objekt der ContentValues die enthält nur den Wert für die Spalte book_name.
Erstellen Sie die Tabelle in der oncreate-Methode der SQLiteOpenHelper?
Und geben Sie bitte den code, wie Sie die eingefügten Daten in die Tabelle
Aktualisiert meine Frage. Und ja, ich bin mit dem erstellen der Tabelle in onCreate. - Tabelle erstellt, ohne Probleme. ich habe auch geprüft ob die Datenbank mit dem sqlite-browser. Hauptproblem ist, wie um den Standardwert für die Spalte TEXT ein.
Brauchen Sie nicht entkommen Apostrophe.
InformationsquelleAutor Abir Hasan | 2016-01-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einen Standardwert für die Spalte, wenn Sie die Tabelle erstellen. (Es scheint nicht, als ob Sie können eine Standard-mit einer ALTER - Anweisung, so müssen Sie neu erstellen Ihre Tabelle.)
Für Beispiel,
nun sehen, dass , default-Wert "abc"
Überprüfen sqllite Dokumentation.
NOT NULL
dann dauert es nicht den leeren string als default-oder das 'abc' als Sie gegeben. es nimmt den Wert null. Ich habe gesehen, die meisten der bisherigen Antworten, aber keiner von Ihnen arbeiten.Sie möchten der Spalte Wert auf "etwas" standardmäßig rechts ? richtig ? dann funktioniert das @AbirHasan
hast du es versuchen? weil es nicht funktioniert. @Amit
ja , meine bearbeitete Antwort @AbirHasan
CREATE TABLE Buch(_id INTEGER PRIMARY KEY AUTOINCREMENT,Buch-TEXT-STANDARD "abc"); ich habe versucht, diese Lösung und es funktioniert @AbirHasan
InformationsquelleAutor Amit Vaghela
Alter table,
InformationsquelleAutor LincyTonita