Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP查找SQL列的大小?_Php_Sql - Fatal编程技术网

使用PHP查找SQL列的大小?

使用PHP查找SQL列的大小?,php,sql,Php,Sql,我正在尝试为我的站点构建一个非常简单的登录系统(只是为了练习我正在进行的项目)。我决定实现它的方式是使用一个带有ID、名称、密码和用户名字段的表,并在现有表中搜索输入的信息 对于注册,它只是将提供的信息注入表中,我想分配一个客户ID号。我分配ID号的想法是简单地找到ID列的大小(它将包含ID的1,2,3..等,直到最后),并将新的注册分配到长度+1。为此,我需要一种获得列大小的方法,但我只是学习php和sql,所以我不确定语法是什么 TLDR;sql中是否有一个函数可以在php中用于获取特定列的

我正在尝试为我的站点构建一个非常简单的登录系统(只是为了练习我正在进行的项目)。我决定实现它的方式是使用一个带有ID、名称、密码和用户名字段的表,并在现有表中搜索输入的信息

对于注册,它只是将提供的信息注入表中,我想分配一个客户ID号。我分配ID号的想法是简单地找到ID列的大小(它将包含ID的1,2,3..等,直到最后),并将新的注册分配到长度+1。为此,我需要一种获得列大小的方法,但我只是学习php和sql,所以我不确定语法是什么


TLDR;sql中是否有一个函数可以在php中用于获取特定列的长度?(即该列中存储的条目数?

将ID列设置为主和自动递增


您不需要将其包含在查询中,它是自己创建的。

您最好只使用标识或自动增量列。检查“列的大小”(我假设您指的是该列中的行数)的问题是,您可能会插入重复的ID,例如:

ID | ...
---------
1
2
4
因此,如果您从MyTable中选择COUNT(ID)+1,它将返回4,并且您有一个ID冲突


您可以执行类似于从MyTable中选择MAX(ID)+1这样的操作,但即使如此,也可能存在并发问题(进程A和进程B都试图同时运行该查询,然后才有机会插入新的ID 5)。您最好让RDBMS来处理它。

您正在尝试重新创建SQL的
AUTO_INCREMENT
column属性。您想使用AUTO_INCREMENT,因为重新创建它就像您尝试做的那样,最终会导致重复。这听起来很完美,谢谢。我现在会调查的,就像我说的我是新来的,所以我真的很感激!因为您使用的是PHP,所以我假设您使用的是mySQL。下面是一个关于如何在列上使用mySQL的AUTO_INCREMENT关键字的好例子。