mysql(在一行中添加多个值)android app

时间:2014-10-28 21:10:03

标签: php android mysql sql-server

我正在尝试在我的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脚本中做到这一点?

抱歉我的英语不好:)

提前致谢

2 个答案:

答案 0 :(得分:1)

正如穆罕默德所说,你需要在数据库中建立多对多的关系。这意味着您需要一个中间表。我们称之为users_courses表。

此表至少需要两个字段:

  1. uid - 这用作users表的外键。
  2. course_id - 这是课程表的外键。
  3. 每当用户添加课程时,将分别添加包含用户和课程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查询中使用内连接。