mysql - mysql join 和 where AND 的问题

标签 mysql

我想连接两个表并选择数据并插入到第三个表中,但它不起作用。 代码:

$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 .";";

注意:如果cidstudent.id 是字符串,您应该使用额外的单引号。但由于它们是 ID,我假设它们是数字。

希望这对您有所帮助,谢谢。

关于mysql - mysql join 和 where AND 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30521776/

相关文章:

php - 这是在 fuelphp 中创建与额外字段的多对多关系的正确方法吗

php - 如何使用 php 下载和上传 SQL 数据库为 .sql 文件?

mysql - 使用子选择进行计数,产生双倍的数量

mysql - JOIN 使用文件排序,子查询不使用它

mysql - 在 DropDownListFor 中使用枚举值

mysql - 当所有表都是 MYISAM 时,打开 INNODB 引擎是否安全?

mysql - 将两个表组合在一起以获得所有列,但我需要单独的数据行而不是一行

mysql - 如何用以前的非空值替换空值?

php - SQL查询以查找欠债三个月或更长时间的用户

mysql - 将 SELECT 语句转换为 MySQL 中的 UPDATE 语句