我做在我公司的Android项目,仍有一些小的工作是剩下的,我需要你的帮助来完成任务。
问题是...
我已经创建了两个表中,表1有一个空列,为宗旨,为节省名称...
的表2有一个list of names
,目标是唯一应该将该列表中的名称保存在table1的空列中,而不应该接受任何手动输入的名称。
我做在我公司的Android项目,仍有一些小的工作是剩下的,我需要你的帮助来完成任务。
问题是...
我已经创建了两个表中,表1有一个空列,为宗旨,为节省名称...
的表2有一个list of names
,目标是唯一应该将该列表中的名称保存在table1的空列中,而不应该接受任何手动输入的名称。
我希望下面的查询能为你工作。
insert into table1(name) values (select name from table2 where id=?)
。
谢谢。
您似乎想要将名称列表进行验证:如果用户希望将名称保存到table1,则该名称必须已存在于table2中。
通常这会做如下面的例子,其中仅在PRIZEPRODUCTS列出的产品可以进入获奖者表:有人无法赢得一场船,例如,给出下面的数据:
PRIZEPRODUCTS
id
productname
1|TV
2|iPad
3|backpack
PRIZEWINNERS
id
productid
winner
ALTER TABLE PRIZEWINNERS
ADD CONSTRAINT PRIZEWINNERS_PRIZEPRODUCTS_FK
FOREIGN KEY(productid) REFERENCES PRIZEPRODUCTS(id)
SQLite不使用ALTER TABLE创建外键,而是作为create-table语句的一部分。有关语法,请参阅here。要在Android(2.2)中启用外键支持,请参阅here。
现在,如果[productname]是PRIZEPRODUCTS的关键字,那么您可以在[productname]列上建立外键。换句话说,你可以使人名成为表格的关键,而不是拥有PersonID。但是,如果在验证表中更改了该名称,除非启用了ON UPDATE CASCADE,否则它可能会破坏外键关系,但我不确定这是否在Android中受支持。
相当不清楚的问题,请详细说明..... – Richa
在table2列中,已经存储了一个名称列表,目标是table1应该允许将table2中的名称存储在其中。 – SHIV
你的意思是你想把你的表的列的recod复制到另一个表中? – Richa