Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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 如何更改mysql数据类型?_Php_Mysql_Types_Datatables - Fatal编程技术网

Php 如何更改mysql数据类型?

Php 如何更改mysql数据类型?,php,mysql,types,datatables,Php,Mysql,Types,Datatables,我有一张mysql表格,用于存放汽车配件,如“空调、泊车辅助、cd播放器、刹车辅助”等。所有这些配件都在INT(11)中。但是我使用的是1,如果汽车有这个,或者NULL,如果没有。我是否应该用其他东西更改此INT(11)?如果可以,请告诉我如何操作?您所做的是创建标志以指示是或否值,这样更适合布尔数据类型,您可以从中学习如何在MySQL中使用布尔值。通过进行此更改,您将在数据库服务器上节省一点磁盘空间。您根本不需要更改应用程序逻辑;TINYINT和INT都是可以与1或0进行比较的整数 注意,My

我有一张mysql表格,用于存放汽车配件,如“空调、泊车辅助、cd播放器、刹车辅助”等。所有这些配件都在
INT(11)
中。但是我使用的是
1
,如果汽车有这个,或者
NULL
,如果没有。我是否应该用其他东西更改此
INT(11)
?如果可以,请告诉我如何操作?

您所做的是创建标志以指示是或否值,这样更适合布尔数据类型,您可以从中学习如何在MySQL中使用布尔值。

通过进行此更改,您将在数据库服务器上节省一点磁盘空间。您根本不需要更改应用程序逻辑;
TINYINT
INT
都是可以与1或0进行比较的整数

注意,MySQL忽略了
INT(11)
中的
11
TINYINT(1)
中的
1
INT
值是32位数字,
TINYINT
值是8位数字


除非表中有数百万行,否则进行此更改可能只会节省少量空间。问这个问题花费的时间已经超过了运行这个数据库十年所节省的时间

使用布尔值,即
tinyint(1)
。然后您可以使用1/0。请发布您的表结构。您所做的事情可能有问题,也可能没有问题。这并不意味着存储的位数。无论如何,您可能想看看
char(1)
。我希望这些不是单独的列:-(我将其更改为tinyint(1),因为我的代码是正确的?…不管怎样,这都可能是个坏主意。