我必须在数据库的空列中插入从1到N的序号。运行我的代码时,Android Studio给出了以下错误:
Caused by: android.database.sqlite.SQLiteException: unrecognized token: ":" (code 1): , while compiling: SELECT @i:=0; UPDATE table_name SET column_one = @i:=@i+1;
我的代码行:
db.execSQL("SELECT @i:=0; UPDATE table_name SET column_one = @i:=@i+1;");
(请注意,当我在括号之间更改MySQL语句时,代码会运行并执行)
SQL代码的来源:
Insert sequential number in MySQL
我是Java,Android Studio和MySQL的新手。
我在这里缺少什么?
帮助我理解为什么MySQL @i:= @ i + 1表达式在Android Studio中无法正常运行。
提前致谢。
答案 0 :(得分:0)
试试这个。
database.execSQL("SELECT " + @i + " :=0 ; UPDATE table_name SET column_one = " + @i + " := " + @i "+1;");
答案 1 :(得分:0)
因为android数据库使用的是sqlite,但sqlite不支持“@”,如果你想批量处理,我建议你使用Java