我正在努力为我的应用程序制定出最好的数据库结构和SQL。哪个SQL可以工作?
的情况是这样的:
吉姆和约翰需要每星期更新他们的考勤表为不同 项目。当他们这样做时,他们使用HTML表单根据一周中最后一天的日期插入他们的 小时。
这是罚款,并插入一个新行名称,项目,日期和时间
然而,如果吉姆和约翰做更多的时间比他们预期,需要更新自己的时间表,我希望他们能够使用表格,并且如果名称,项目名称和日期与已提交的内容匹配,则它将在数据库上的小时数col。
SQL来插入:
INSERT OR REPLACE INTO RESOURCE(NAME, DATE, PROJECT, HOURS) VALUES ('"+ name+ "', '"+ date+ "', '"+ project+ "','" + hours + "');
工作至今:
我有一个SQLite数据库创建以下数据库结构。
CREATE TABLE RESOURCE (
name VARCHAR(16),
date DATE,
project VARCHAR(16),
hours VARCHAR(16)
)
而且我已经创建了以下索引来尝试解决我的问题。
CREATE UNIQUE INDEX myindex ON RESOURCE(NAME, DATE, PROJECT)
然而,问题是,当吉姆更新他小时在同一日期,项目,时间为约翰,约翰列被替换,只有吉姆的留下。
希望我已经清楚地解释了这个问题,如果不是,请让我知道,我会提供任何需要的。
我的问题是:什么可以改变我的SQL或我的数据库结构,这将允许上述方案的工作?
我想你应该有一个唯一的名为resourceId的列,这将是资源jim和john的身份。另外,jim如何更新约翰的时间表? – DevelopmentIsMyPassion 2013-03-07 08:18:29
该resourceid列将如何工作?如果在同一天为不同的项目和不同的小时,jim或john有多个条目,会发生什么? – Rhys 2013-03-07 08:29:21
然后,您只需根据资源ID更新行。 – DevelopmentIsMyPassion 2013-03-07 08:32:30