美文网首页
数据库番外篇

数据库番外篇

作者: heiheiwanne | 来源:发表于2016-08-06 15:01 被阅读130次

删除命令 

(1) db.execSQL("insert into person(name,phone) values (?,?)",newObject[] { p.getName(), p.getPhone() });

(2) SQLiteDatabase db = dbHelper.getWritableDatabase();// 取得数据库操作实例

ContentValues values =newContentValues();

values.put("name", p.getName());

values.put("phone", p.getPhone());

db.insert("person","name", values);

insert的一种构造方法

insert (String table, String nullColumnHack, ContentValues values)

table

要插入数据的表的名称

values

ContentValues对象,类似一个map通过键值对的形式存储值。

nullColumnHack

当values参数为空或者里面没有内容的时候,insert是会失败的(底层数据库不允许插入一个空行),为了防止这种情况,要在这里指定一个列名,到时候如果发现将要插入的行为空行时,就会将你指定的这个列名的值设为null,然后再向数据库中插入。通过观察源码的insertWithOnConflict方法可以看到当ContentValues类型的数据initialValues为null或size<=0时,就会在sql语句中添加nullColumnHack的设置。

若不添加nullColumnHack则sql语句最终的结果将会类似insert into tableName()values();这是不允许的。

若添加上nullColumnHack则sql语句将会变成insert into tableName (nullColumnHack)values(null);这是可以的。

(3) db.insertWithOnConflict(Constants.ITEM_ARTICLE_DB_NAME,XXTT_ItemArticleModel.ITEM_ID,values,SQLiteDatabase.CONFLICT_IGNORE);

第4个参数:

CONFLICT_ROLLBACK: 当执行SQL语句违反限制条件时,会停止当前执行的SQL语句,并将数据恢复到操作前的状态

CONFLICT_ABORT: 当执行SQL语句违反限制条件时,会停止当前执行的SQL语句,并将数据恢复到操作前的状态,不过,当前事务下先前执行SQL语句造成的数据变动并不会受到影响。

CONFLICT_FAIL: 当执行SQL语句违反限制条件时,会停止当前执行的SQL语句,不过先前执行的SQL语句造成的数据变化将不会受到影响,而后面的SQL将不会被执行。

CONFLICT_IGNORE: 当插入或者修改内容时违反了限定条件,那么这次数据将不会生效,但是后续的SQL语句会被继续执行。

CONFLICT_NONE: 当操作违反限制条件时,忽略改错误,继续执行后续的SQL语句。

CONFLICT_REPLACE: 当插入或者修改数据时违反了唯一性的限制原则,新的数据会被替换。

相关文章

  • 番外篇:新鲜上市的Unicorn - Pinterest的数据系

    欢迎阅读数据库内核杂谈。这期我们先暂时抛开主线剧情,插播一期番外篇。话说为什么会有番外篇呢?上次休假写上一篇数据库...

  • 数据库番外篇

    删除命令 (1) db.execSQL("insert into person(name,phone) value...

  • 青旅

    番外篇.青旅

  • Asp.net mvc + Redis

    数据库学习番外篇 神奇的Redis 由于最近呢小猿我找到了自己的女神,所以整个学习计划都被打乱了,本来想着一天看一...

  • [番外篇] AHK中的HotKey变体

    # [番外篇] AHK中的HotKey变体AB014-[番外篇] AHK中的HotKey变体 代码讨论 长岛的雪:...

  • 番外人物(·.·)

    哈哈,本人的番外篇好看嗎?

  • 残雪录 番外篇(5)

    残雪录 番外篇(4) 番外篇 第五章 关外遇敌 “阿亮,这次边关巡逻到你了。”一员披挂整...

  • 泡泡糖爱恋(下)

    浮生狗梦·番外篇(9) 2016-01-16小方小方小语 青春期(二) 小方 [上接《浮生狗梦·番外篇7》] 方康...

  • 每一日读《英语史》。

    今天学习《英国史》番外篇(二),国宝大师狄更斯与雾都孤儿记。 今天听完《英国史》番外篇(二),心中有很多的感慨。今...

  • 美国游学番外篇1

    这是一个番外篇。 为什么是番外篇呢?因为这里记录了一些不能被老师看到的、鲜为人知的故事。 第一...

网友评论

      本文标题:数据库番外篇

      本文链接:https://www.haomeiwen.com/subject/iceksttx.html