Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我在android上使用sqlite,当我将文本插入整数列时,我没有收到任何错误,外键约束也没有';行不通_Android_Sqlite - Fatal编程技术网

我在android上使用sqlite,当我将文本插入整数列时,我没有收到任何错误,外键约束也没有';行不通

我在android上使用sqlite,当我将文本插入整数列时,我没有收到任何错误,外键约束也没有';行不通,android,sqlite,Android,Sqlite,下面是代码:我正在创建两个表,即:教师和凭证。我希望凭证ID列引用教师ID列。还要遵守数据类型约束。即,我不能在文本列中插入整数,反之亦然 请帮帮我已经两天了,我受够了: public class WinnersTeachersDbHelper extends SQLiteOpenHelper { // If you change the database schema, you must increment the database version. private static final

下面是代码:我正在创建两个表,即:教师和凭证。我希望凭证ID列引用教师ID列。还要遵守数据类型约束。即,我不能在文本列中插入整数,反之亦然

请帮帮我已经两天了,我受够了:

public class WinnersTeachersDbHelper extends SQLiteOpenHelper {

// If you change the database schema, you must increment the database version.
private static final int DATABASE_VERSION = 1;

public static final String DATABASE_NAME = "winnersteachersbanana.db";

public WinnersTeachersDbHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
// Create a table to hold teachers details.
    final String SQL_CREATE_TEACHERS_TABLE = "CREATE TABLE " + Teachers.TABLE_NAME + " (" +
            Teachers._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +

            Teachers.COLUMN_FULL_NAME + " TEXT NOT NULL, " +
            Teachers.COLUMN_MOBILE_NUMBER + " TEXT NOT NULL, " +

            " UNIQUE (" + Teachers.COLUMN_MOBILE_NUMBER + ") ON CONFLICT REPLACE);";

    // Create a table to hold credentials details.
    final String SQL_CREATE_CREDENTIALS_TABLE = "CREATE TABLE " + Credentials.TABLE_NAME + " (" +

            Credentials._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
            Credentials.COLUMN_TEACHER_ID + " INTEGER NOT NULL, " +
            Credentials.COLUMN_USERNAME + " TEXT NOT NULL, " +
            Credentials.COLUMN_PASSWORD + " TEXT NOT NULL, " +

            // Set up the teacherId column as a foreign key to teachers table.
            " FOREIGN KEY (" + Credentials.COLUMN_TEACHER_ID + ") REFERENCES " +
            Teachers.TABLE_NAME + " (" + Teachers._ID + "), " +

            " UNIQUE (" + Credentials.COLUMN_TEACHER_ID + ") ON CONFLICT REPLACE);";

sqLiteDatabase.execSQL(SQL_CREATE_TEACHERS_TABLE);
sqLiteDatabase.execSQL(SQL_CREATE_CREDENTIALS_TABLE);
}
SQLite使用;您必须使用单独的约束强制列类型:

CREATE TABLE ... (
    ...,
    FullName TEXT NOT NULL  CHECK(typeof(FullName) = 'text'),
    ...
);
SQLite使用;您必须使用单独的约束强制列类型:

CREATE TABLE ... (
    ...,
    FullName TEXT NOT NULL  CHECK(typeof(FullName) = 'text'),
    ...
);