开发者社区> 问答> 正文

请问这个SQL语句哪里错了 求大神?报错

package com.example.dictionary;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class MyDataHelper extends SQLiteOpenHelper {

 final String CREAT_TABLE_SQL = "create table dict(_id integer primary key auto_increment,word,detail)";
 
 public MyDataHelper(Context context, String name, CursorFactory factory,
   int version) {
  super(context, name, factory, version);
  // TODO Auto-generated constructor stub
 }

 @Override
 public void onCreate(SQLiteDatabase db) {
  db.execSQL(CREAT_TABLE_SQL);
  // TODO Auto-generated method stub

 }

 @Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  // TODO Auto-generated method stub
  System.out.println("The version have upgrate to"+newVersion);
 }

}

 

定义这个类   db.execSQL(CREAT_TABLE_SQL);

这句运行时报错

大概是指在“auto_increment附近出错”  刚学SQL  不知道哪里出错了呢  求大神指点指点

展开
收起
爱吃鱼的程序员 2020-06-22 17:24:39 517 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你把你创建表的sql在mysql执行下就知道了,后边两列没定义类型都。例:

    CREATETABLE`data`(`id`int(11)NOTNULLAUTO_INCREMENT,`projectId`int(11)DEFAULTNULL,`name`varchar(200)DEFAULTNULL,`level`varchar(20)DEFAULTNULL,`version`varchar(10)DEFAULTNULL,PRIMARYKEY(`id`))


    AUTOINCREMENT后两列的类型呢?回复 @Just-the-CJ:抱歉,我只看了SQL里有auto_increment就以为是MySQL了,应该再看看import的安卓的那个Sqlite数据库可以忽略类型那个 createtabledict(_idintegerprimarykeyauto_increment,word,detail)";中的 auto_increment,应该改为: autoincrement吧,应该是这样.........类型啊

    sqlite用AUTOINCREMENT

    auto_increment是mysql的

    吓?不共用的?O_o
    2020-06-22 17:24:54
    赞同 展开评论 打赏
问答分类:
SQL
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载