当 UserID = 1 且 CourseID 不在数组中时删除?

Posted

技术标签:

【中文标题】当 UserID = 1 且 CourseID 不在数组中时删除?【英文标题】:Delete when UserID = 1 and CourseID not in array? 【发布时间】:2013-07-16 09:28:50 【问题描述】:

这是我正在使用的 SQL 代码:

由于某种原因,它会删除 UserID 的所有记录,但不考虑 NOT IN 数组。只有当用户 ID = 当前用户且该用户的 courseID 不在数组中时,我才需要删除它。

mysql_query("DELETE FROM tblLinkUserCourse WHERE ((UserID=$CurrentUserID) AND (CourseID NOT IN ($new_array)))");

【问题讨论】:

【参考方案1】:

1) 从查询中删除所有不必要的()

2) 检查$new_array 是否包含您所有的 course_id 并构造为字符串。如果不构造为字符串和逗号分隔使用此代码。

$new_array = implode(',', $new_array);
mysql_query("DELETE FROM tblLinkUserCourse WHERE UserID=$CurrentUserID AND CourseID NOT IN ($new_array)");

【讨论】:

@user2561158 欢迎。【参考方案2】:

$new_array php 数组或字符串是否准备好进行查询? 如果是数组,你应该使用:

$new_array = implod(',', $new_array);
mysql_query("DELETE FROM tblLinkUserCourse WHERE ((UserID=$CurrentUserID) AND (CourseID NOT IN ($new_array)))");

【讨论】:

【参考方案3】:

试试:

$new_array  = "'".implode("', ", $new_array)."'";
$sql        = "DELETE FROM tblLinkUserCourse WHERE ((UserID=$CurrentUserID) AND (CourseID NOT IN ($new_array)))";

【讨论】:

以上是关于当 UserID = 1 且 CourseID 不在数组中时删除?的主要内容,如果未能解决你的问题,请参考以下文章

Aspose.Cells导入导出

加入 4 个 MySQL 表

查询存在和不存在

解决vue-router中this.$router.oush无法在新窗口中打开

如何从 ASP.NET 变量中提供 JavaScript 变量数据?

Gson空值映射问题,当实体类字段不全Gson的映射