mysql - MYSQL中多条记录的DELETE查询

标签 mysql c

我正在用 C 编写一个 MYSQL 程序。我想从数据库中删除存储在数组中的所有 id_no 的记录。我知道我可以通过在循环中运行查询来删除所有记录。但问题是我想删除很多记录(> 300)。所以,我想知道是否还有其他有效的方法可以使用?

unit32_t id_nos[100];
char query[256];

for(int i=0; i< 100; i++) {
   sprintf(query, "DELETE FROM Students WHERE id = '%u'", id_nos[i]);

   if(mysql_query(con, query)) {
     printf("Failed to Delete record successfully\n")
     printf("stderr: %s\n", mysql_error(con));
     mysql_close(con);
     return;
   }
else {
 printf("Record deleted successfully\n");
}

最佳答案

您可以将 ID 连接为字符串并传入 "IN" function .

关于mysql - MYSQL中多条记录的DELETE查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70216169/

相关文章:

php - Laravel 迁移 : Foreign key constraint is incorrectly formed

mysql - SQL查询使数据聚合变得困难

php - 如何检查数据是否已成功插入?

c - 从分隔符 "/"中提取字符串

c++ - 使用 C 和 C++ 代码在 C++ 项目中编译错误

c - 使用 C 在 Linux 上使用 sigsetjmp 的模糊问题

从 UUID 对象中的字段构造字符串

mysql - rails mysql适配器错误

php - 无法在运行 mysql 5.6 的 wamp 上启用 MySql 通用查询日志文件

c - 初始化 C 结构以便全局使用