我想连接两个表并选择数据并插入到第三个表中,但它不起作用。 代码:
$sql = "INSERT INTO attendance(cid, sid) SELECT course.cid, student.id FROM course
INNER JOIN student ON student.id=course.cid
WHERE course.cid=$course_id AND student.id=$student_id";
当我删除 WHERE 子句时它起作用了。
最佳答案
您需要正确连接变量。试试这个(假设您使用的是 PHP),
$sql = "INSERT INTO attendance(cid, sid) SELECT course.cid, student.id FROM course
INNER JOIN student ON student.id=course.cid
WHERE course.cid=". $course_id ." AND student.id=". $student_id .";";
注意:如果cid
和student.id
是字符串,您应该使用额外的单引号。但由于它们是 ID,我假设它们是数字。
希望这对您有所帮助,谢谢。
关于mysql - mysql join 和 where AND 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30521776/