我正在尝试在我的Android应用程序中创建一个连接到mysql的函数并执行以下操作:
我的数据库中有两个表:
CREATE TABLE IF NOT EXISTS `courses` (
`course_id` int(11) NOT NULL,
`course_name` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
并
CREATE TABLE IF NOT EXISTS `users` (
`uid` int(11) NOT NULL,
`unique_id` varchar(23) NOT NULL,
`firstname` varchar(50) NOT NULL,
`lastname` varchar(50) NOT NULL,
`dept` varchar(20) NOT NULL,
`email` varchar(100) NOT NULL,
`encrypted_password` varchar(80) NOT NULL,
`salt` varchar(10) NOT NULL,
`created_at` datetime DEFAULT NULL,
`type` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=18 ;
这个想法是user type = instructor
将添加一个课程,user type = student
将加入课程,许多学生将加入许多课程,任何课程都会有很多学生,现在我的职能称为{{1当学生点击它时,它会给他一个他加入的所有课程的列表,那么我怎样才能在我的my courses
脚本中做到这一点?
提前致谢
答案 0 :(得分:1)
正如穆罕默德所说,你需要在数据库中建立多对多的关系。这意味着您需要一个中间表。我们称之为users_courses表。
此表至少需要两个字段:
每当用户添加课程时,将分别添加包含用户和课程ID的记录。
访问数据的一种方法是通过join语句:
SELECT <fields you need>
FROM users
INNER JOIN users_courses
ON users.uid = users_courses.course_id
INNER JOIN courses
ON users_courses.course_id = courses.course_id
WHERE <your conditions>
答案 1 :(得分:0)
多对多关系
在Sql查询中使用内连接。