相关疑难解决方法(0)

SQLite中的"如果不存在则插入"语句

我有一个SQLite数据库.我试图在表中插入值(users_id,lessoninfo_id),前提bookmarks是它们之前不存在.

INSERT INTO bookmarks(users_id,lessoninfo_id) 
VALUES(
    (SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"'),
        (SELECT _id FROM lessoninfo 
        WHERE Lesson="+lesson_no+" AND cast(starttime AS int)="+Math.floor(result_set.rows.item(markerCount-1).starttime)+") 
        WHERE NOT EXISTS (
            SELECT users_id,lessoninfo_id from bookmarks 
            WHERE users_id=(SELECT _id FROM Users 
            WHERE User='"+$('#user_lesson').html()+"') AND lessoninfo_id=(
                SELECT _id FROM lessoninfo
                WHERE Lesson="+lesson_no+")))
Run Code Online (Sandbox Code Playgroud)

这给出了一个错误说:

db error附近的语法.

sqlite constraints sql-insert

115
推荐指数
4
解决办法
13万
查看次数

表上的SQLite多主键,其中之一是自动增量

我在表上有多个(复合)主键,其中一个将自动递增.然而,有趣的是,SQLite允许AUTOINCREMENT在强制性PRIMARY KEY关键字之后使用关键字.

我的查询是:

CREATE TABLE ticket (
     id INTEGER PRIMARY KEY AUTOINCREMENT,
     seat TEXT, payment INTEGER,
     PRIMARY KEY (id, seat))
Run Code Online (Sandbox Code Playgroud)

但是错误是table "ticket" has more than one primary key.

实际上我可以避免使用此表的其他主键.但是我正在编写一个ORM框架(地狱是的,我很疯狂)并且不想改变PRIMARY KEY表的约束生成结构(因为它在MySQL afaik中是允许的).

对此有何解决方案?

sql sqlite

18
推荐指数
2
解决办法
2万
查看次数

无法更新EntitySet'...',因为它有一个DefiningQuery

我正在使用MVC 4和C#4.5与EntityFramework 4.

我已经设置了一个简单的多对多表:

tblAdminUser -> tblAdminUserRole <- tblAdminRole

当我尝试向管理员用户添加角色时,出现以下错误:

"无法更新EntitySet'tllAdminUserRole',因为它有一个DefiningQuery,元素中不存在任何元素来支持当前操作."

我使用的代码是:

this.Role = new tblAdminRole()
{
    Name = "__role__",
};

context.tblAdminRoles.Add(this.Role);
context.SaveChanges();

this.AdminUser.tblAdminRoles.Add(this.Role);
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework

2
推荐指数
1
解决办法
9512
查看次数

SQLite中的复合键

如何在SQLite中放置复合键?在SQL Server中,我们选择多个列,然后选择Set Primary Key.SQLite中的方法是什么?

我正在使用SQLite数据库浏览器来管理我的数据库结构,我没有找到将复合键放在表中的选项,或者我可能遗漏了一些东西.有人会帮我解决这个问题吗?

sqlite composite-primary-key

2
推荐指数
1
解决办法
1898
查看次数

如何创建复合主键android

我正在制作一个android数据存储应用程序.在这个我的问题是我想在sqlite表android中创建复合主键.我想要两个列名的复合键.句法:

public static final String PEN_TABLE_QUERY= " CREATE TABLE if not exists " + PEN_TABLE + "( "+ PEN_ID + " INTEGER  , " + MAIN_CATEGORY + " TEXT , " + SUB_CATEGORY + " TEXT , " + PEN_TYPE + " TEXT , " +  DESC + " TEXT , " + DATE + " TEXT PRIMARY KEY " +")";    
Run Code Online (Sandbox Code Playgroud)

我想要id和日期的主键请帮助我

sqlite android

0
推荐指数
1
解决办法
9186
查看次数

如何防止android sqlite数据库中的重复数据?

我正在 android 中的 sqlite 数据库上工作,我想插入一个如下所示的表

                    id procode  proname user
                    1  pro123   mobile   120
                    2  pro123   mobile   121
                    3  pro345   watches  120
Run Code Online (Sandbox Code Playgroud)

在上表中,只有 id 是 uniq,所有值都不是 uniq,但我不想允许同一用户使用相同的数据,这意味着另一个用户将插入相同的数据,现在我不想在检查 procode 数据和用户手段(如 bwlow)时插入重复项

                    id procode  proname user
                    1  pro123   mobile   120
                    2  pro123   mobile   121
                    3  pro123    mobile   120 
Run Code Online (Sandbox Code Playgroud)

上表3为重复数据

android android-sqlite

0
推荐指数
1
解决办法
6596
查看次数