2012-03-24 176 views
0

我已经在phpmyadmin中设置了两个两个表 - 表用户标识和表数据。用户ID表由一个列ID组成,表数据由以下列组成 - id|name|price。我在表userid的列id中添加了一个索引以指向表数据的id。现在我有一个用户在android应用程序中进行某些选择。我想将这些数据插入到表格数据中。我知道我必须使用jdbc并知道如何为没有任何索引的表输入数据。但是在相关表格的情况下,我很困惑如何去做。用户名是从这个链接http://android-developers.blogspot.in/2011/03/identifying-app-installations.html获得的。有人请告诉我如何使用java输入数据。 (混淆是如何输入用户标识和相应的数据)。从关系数据库检索数据

+0

当你说你已经添加表的用户ID的列ID的索引点到表数据的id,你的意思是'data'.'id'是'userid'.'id'的外键吗?如果是这样,那么在'userid'中没有相应的记录就不可能插入'data'。或者我没有理解你的问题? – Abhay 2012-03-24 17:18:02

回答

1

只要您在向数据表中插入新记录时知道用户标识即可。基本上,你必须:

Statement stmt = conn.createStatement(); 
stmt.executeUpdate("INSERT INTO data (id, name, price) VALUES ('id from userid table', 'a name', 'a price')"); 

显然PARAMS不正确地转义(他们真的应该如此),而且也没有测试的错误,但是这将让你开始。

然后,例如,选择所有与给定用户ID的数据,你会做这样的事情:

Statement stmt = conn.createStatement(); 
stmt.executeQuery("SELECT * FROM userid LEFT JOIN data WHERE userid.id = data.id"); 
+0

我认为索引表会提高速度并减少重复。或者我误解了这里。 – user1092042 2012-03-24 12:58:55

+0

@ user1092042绝对的,但是你所问的可以通过在用户表中的id字段上添加索引来处理,索引不需要存储在单独的表中。 – clexmond 2012-03-24 13:03:17

+0

但是数据需要正确识别。如果我有很多用户,那么我需要知道哪些数据属于谁。对不起,如果我看起来很愚蠢,但我很新(索引被存储在数据表中作为外键) – user1092042 2012-03-24 13:07:18