Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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
在MySQL中将列填充到最大值?_Mysql_Sql - Fatal编程技术网

在MySQL中将列填充到最大值?

在MySQL中将列填充到最大值?,mysql,sql,Mysql,Sql,我想知道,如果列中的值尚未达到最大值,是否可以自动将列填充到其最大值。例如,如果我有一个名为score的列,它接受一个INT(11),而该列中的数据只有23,有没有办法让它在末尾加上一堆数字,这样它的大小实际上是11而不是2?所以最后它看起来像是23000000000?你所问的被称为填充。您可以在数据库模式级别使用varchar列来实现这一点,但我建议您不要这样做,原因有几个,包括没有自动递增的数字。在查询数据库时,您可以根据需要轻松填充数字,例如使用: SELECT LPAD('columnn

我想知道,如果列中的值尚未达到最大值,是否可以自动将列填充到其最大值。例如,如果我有一个名为score的列,它接受一个INT(11),而该列中的数据只有23,有没有办法让它在末尾加上一堆数字,这样它的大小实际上是11而不是2?所以最后它看起来像是23000000000?

你所问的被称为
填充。您可以在数据库模式级别使用varchar列来实现这一点,但我建议您不要这样做,原因有几个,包括没有自动递增的数字。在查询数据库时,您可以根据需要轻松填充数字,例如使用:

SELECT LPAD('columnname',11,'0')

你对你想要达到的目标没有多大意义,但是你可以自动获得最大值。请看这个答案@Prix抱歉,这对我来说很难解释。让我再举一个例子。如果我有一个接受VARCHAR(20)的列,该列中的数据是“人名”。总共有11个。我能不能让它再加上39个字符,比如一个空格,使它的总大小达到50?你为什么要这样做?这会让你的眼睛谢谢你,这正是我想要的。只有一件事。如果列未达到其最大大小,则要检测的语法是什么?因此,LPAD可能会自动将其填充到所需的数量。整型列的大小是mysql中sql的非标准扩展:它对列大小没有任何影响,并且仅用于显示目的。无论如何,如果您想获取该metainfo,您可以尝试从_tablename_uu或show create table _tablename_uu命令解析显示列的输出