我正在尝试为我的应用程序制定最佳的数据库结构和 SQL。
场景是这样的:
Jim 和 John 需要每周针对不同的项目更新他们的时间表。当他们这样做时,他们使用 html 表单来插入基于一周最后一天的日期的小时数。
这很好,将插入一个包含名称、项目、日期和时间的新行
但是,如果 jim 和 john 的工作时间比他们预期的要多,并且需要更新他们的时间表,我希望他们能够使用该表格,并且UPDATE
如果名称、项目名称和日期与提交了什么。
要插入的 SQL:
INSERT OR REPLACE INTO RESOURCE(NAME, DATE, PROJECT, HOURS) VALUES ('"+ name+ "', '"+ date+ "', '"+ project+ "','" + hours + "');
工作至今:
我在 SQLITE DB 上创建了以下 DB 结构。
CREATE TABLE RESOURCE (
name VARCHAR(16),
date DATE,
project VARCHAR(16),
hours VARCHAR(16)
)
我创建了以下索引来尝试解决我的问题。
CREATE UNIQUE INDEX myindex ON RESOURCE(NAME, DATE, PROJECT)
但是,问题是当 jim 更新与 john 相同的日期、项目和时间的工作时间时,Johns 行被替换,只剩下 jims。
希望我已经清楚地解释了这个问题,如果没有,请告诉我,我会提供其他需要的东西。
我的问题是:我可以用我的 SQL 或我的数据库结构来改变什么,以允许上述场景工作?