【发布时间】:2019-03-19 15:15:31
【问题描述】:
我又来了。 非常感谢您的帮助。
这是关于如何在连接表中选择和显示学生成绩的老问题。
我成功了,但现在我无法更新连接表中的成绩。
这又是我的示例表。
"student"
-----------------------
|studentID | FullName |
-----------------------
|1234 | John |
|1235 | Michael |
|1236 | Bryce |
"subject_bsit"
-----------------------------------
|subject_id| subject_name |grade |
-----------------------------------
| 1 | Programming | 3 |
| 2 | Networking | 2.5 |
| 3 | Algorithm | 1.75|
| 4 | Physical Educ | 2 |
This is the Junction table to connect the
two now.
"student_subject"
----------------------------
| student_id | subject_id |
----------------------------
| 1235 | 1 |
| 1235 | 2 |
| 1235 | 3 |
| 1234 | 1 |
这是我所做的查询。 这是我试图更新具有 subject_id = 1
的 studentID 1235 成绩的示例更新 3:
sql = "UPDATE student_subject " & _
" INNER JOIN subject_bsit " & _
" ON subject_bsit.subject_id = student_subject.sub_id " & _
" SET grade = 1 " & _
" where student_subject.student_id='" & Txtbox.Text & "' AND student_subject.sub_id = 1"
& Txtbox.Text & 是用户输入studentid的地方,不用介意。非常感谢我使用visual studion vb.net。
这是我得到的确切错误。
您的 SQL 语法有错误;检查对应的手册 您的 MySQL 服务器版本,以便在 'FROM 附近使用正确的语法 student_subject INNER JOIN subject_bsit ON subject_bsit.subject_id = 第 1 行的学生
【问题讨论】:
-
始终在尝试将其放入字符串之前自行执行您的 SQL 命令。如果它作为直接 SQL 工作,那么您可以将其砍掉并使其工作。这使您有机会划分错误 - 是我的 SQL 还是我的字符串语法。只是从一个艰难地学会了这一点的人那里得到的一个提示。
-
您仍然没有更改查询...
-
@Hopper ,嗨,对不起,我在数据库方面不是很好。我知道我试过了,它有同样的错误。它适用于普通更新,但在联结表上更新它不起作用。谢谢
-
@Mihai 我忘了在我最近的帖子中输入 SET Grade = '1'。但它只输出相同的错误。谢谢
-
@Mihai 非常感谢。有用。对不起,我才刚刚开始学习 SQL。再次感谢您。
标签: mysql sql database vb.net phpmyadmin