gpt4 book ai didi

java - 插入到具有自增主键的表中

转载 作者:太空狗 更新时间:2023-10-29 16:35:06 26 4
gpt4 key购买 nike

我正在创建一个表,如下所示:

@Override
public void onCreate(SQLiteDatabase db) {
String sql =
"CREATE TABLE IF NOT EXISTS users (" +
"_id INTEGER PRIMARY KEY, " +
"name TEXT NOT NULL, " +
"password TEXT NOT NULL);";
db.execSQL(sql);

sql = "INSERT INTO users VALUES ('testuser', 'textpassword')";
db.execSQL(sql);
}

但是当我尝试插入用户时,出现以下异常:

android.database.sqlite.SQLiteException: table users has 3 columns but 2 values were supplied (code 1): , while compiling: INSERT INTO users VALUES ('testuser', 'textpassword')

因为 _id 是主键,为什么它期望它?我也试过 AUTOINCREMENT 但它不起作用。

最佳答案

试试这个

 @Override
public void onCreate(SQLiteDatabase db) {
String sql =
"CREATE TABLE IF NOT EXISTS users (" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
"name TEXT NOT NULL, " +
"password TEXT NOT NULL);";
db.execSQL(sql);

sql = "INSERT INTO users(name, password) VALUES ('testuser', 'textpassword')";
db.execSQL(sql);
}

AUTOINCREMENT NOT NULL is missing in your insert query which will increase the value of _id field automatically.

关于java - 插入到具有自增主键的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30703582/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com