Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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整数默认值0_Mysql_Sql_Integer - Fatal编程技术网

Mysql整数默认值0

Mysql整数默认值0,mysql,sql,integer,Mysql,Sql,Integer,我的表中有4个整数列。它们不需要填写。因此,其中一些可能被填满,一些则没有。未填充时,mysql会向该列添加0。我试图将列的默认值更改为NULL,结果显示默认值无效。有没有办法在没有零的情况下获取空行?在这种情况下,您需要将数据类型更改为varchar,并添加默认值NULL ALTER表 更改列您必须更改列以允许空值。这个问题以前已经回答过了: 如果您的列可以为NULL,那么它应该可以正常工作 mysql> CREATE TABLE Table1 -> (id int not null

我的表中有4个整数列。它们不需要填写。因此,其中一些可能被填满,一些则没有。未填充时,mysql会向该列添加0。我试图将列的默认值更改为NULL,结果显示默认值无效。有没有办法在没有零的情况下获取空行?

在这种情况下,您需要将数据类型更改为
varchar
,并添加默认值NULL

ALTER表

更改列

您必须更改列以允许空值。这个问题以前已经回答过了:

如果您的列可以为NULL,那么它应该可以正常工作

mysql> CREATE TABLE Table1 -> (id int not null auto_increment primary key, -> `col1` int, `col2` int, `col3` int, `col4` int); Query OK, 0 rows affected (0.03 sec) mysql> mysql> INSERT INTO Table1 (`col1`, `col2`, `col3`, `col4`) -> VALUES (1, 1, 1, 1); Query OK, 1 row affected (0.03 sec) mysql> mysql> INSERT INTO Table1 () VALUES(); Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM table1; +----+------+------+------+------+ | id | col1 | col2 | col3 | col4 | +----+------+------+------+------+ | 1 | 1 | 1 | 1 | 1 | | 2 | NULL | NULL | NULL | NULL | +----+------+------+------+------+ 2 rows in set (0.00 sec) mysql>创建表Table1 ->(id int非空自动增量主键, ->`col1`int,`col2`int,`col3`int,`col4`int); 查询正常,0行受影响(0.03秒) mysql> mysql>插入表1(`col1`、`col2`、`col3`、`col4`) ->数值(1,1,1,1); 查询正常,1行受影响(0.03秒) mysql> mysql>插入到表1()值(); 查询正常,1行受影响(0.00秒) mysql>从表1中选择*; +----+------+------+------+------+ |id | col1 | col2 | col3 | col4| +----+------+------+------+------+ | 1 | 1 | 1 | 1 | 1 | |2 |空|空|空|空| +----+------+------+------+------+ 一组2行(0.00秒) “有没有办法在没有零的情况下得到空行?”

要在默认情况下在列中使用NULL,请在“创建表”中使用以下语法:

`column` int(10) unsigned DEFAULT NULL,
要更改现有列,请执行以下操作:

ALTER TABLE table_name CHANGE COLUMN `column_name` `column_name` int(10) unsigned DEFAULT NULL;

请为您的表显示
CREATE TABLE
语句以及如何插入新行。您确定该字段可为空吗?该字段可能重复不会回答问题,因为它涉及文本列而不是整数列。只要数据类型为非数字,任何形式的字符串都可以。