首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择计数不计数

问选择计数不计数
EN

Stack Overflow用户
提问于 2012-04-06 09:06:48
回答 2查看 360关注 0票数 0

我试图构建一个集成其他变量的变量。

其中之一将是自动增量字段的数量,在该字段后面将发生插入-查询。

我试着用:

代码语言:javascript
复制
$get_num = $db/*=>mysqli*/->query("SELECT COUNT (*) auto_increment_column FROM table1");  
            $num = $query->fetch_assoc($get_num);
            $end = $num + 1;

在此之前我没有任何更新/插入查询,所以我不能使用

代码语言:javascript
复制
$end = $db->insert_id;

这就是为什么我认为我可以只计算auto_increment行的数目,并有我的最后一个变量是构建我的新变量所必需的。

由于某种原因,这个wonT计数条目和输出0。我不明白为什么会这样。

如果有人能告诉我我做错了什么,我会非常感激的。非常感谢。

更新

对于每个喜欢知道目标是什么的人来说:

我喜欢为稍后将由insert查询中的字段输入创建的文件创建一个特定的名称或id。我喜欢有一把独特的钥匙。这个键由一个user_id和一个时间戳组成。在这个生成的变量的末尾,应该放置auto_increment nr。将放置在表中的查询。因此,问题在于,我在insert查询发生之前创建了一个变量,以便该变量将成为insert查询的一部分,如下所示:

代码语言:javascript
复制
$get_num = $db->query("SELECT COUNT (*) FROM tableA");  
$num = $query->fetch_assoc();
$end = $num + 1;

$file_id = $id .".". time() .".". $end;

$insert = $db->query("INSERT INTO tableA ( file_id, a, b, c) VALUES('".$file_id."','".$a."','".$b."','".c."')");{

希望现在,它将是明确的,我喜欢接近什么。

EN

回答 2

Stack Overflow用户

发布于 2012-04-06 09:08:29

试一试

代码语言:javascript
复制
SELECT COUNT(*) FROM table1
票数 3
EN

Stack Overflow用户

发布于 2012-04-06 09:12:11

如果需要MySQL中的自动递增列,则应该使用增量。它为您实现了所有这些,并避免了竞争条件。您正在尝试实现它的手动方式有几个缺陷,即

  • 如果两个脚本同时尝试插入,它们都可能得到相同的计数(例如10),因此都尝试使用ID 11进行插入。其中一个将失败(否则会有重复的!)
  • 如果添加10项,然后删除项目1,计数将返回9,但id 10将已经存在。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10041358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档