我有一个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允许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中是允许的).
对此有何解决方案?
我正在使用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) 如何在SQLite中放置复合键?在SQL Server中,我们选择多个列,然后选择Set Primary Key.SQLite中的方法是什么?
我正在使用SQLite数据库浏览器来管理我的数据库结构,我没有找到将复合键放在表中的选项,或者我可能遗漏了一些东西.有人会帮我解决这个问题吗?
我正在制作一个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和日期的主键请帮助我
我正在 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为重复数据