向INT列插入NULL值

38

我如何在MySQL的INT列中插入NULL值? 是否可能?

6个回答

52
如果该列具有“NOT NULL”约束,则不可能;但如果没有约束,那么这是可以的:
INSERT INTO MyTable(MyIntColumn) VALUES(NULL);

16

两种方法实现:

插入 tbl (other, col1, intcol) 值 ('abc', 123, NULL)

或者从列列表中省略它:

插入 tbl (other, col1) 值 ('abc', 123)


4

这个列允许为空吗?

看起来没问题。刚刚用phpMyAdmin测试了一下,该列的类型是int,允许为空:

INSERT INTO `database`.`table` (`column`) VALUES (NULL);

2

如果列不是NOT NULL(可空的)。

您只需在INSERT语句中放入NULL而不是值。


0
只需使用插入查询并在不带引号的情况下放置NULL关键字即可。这样就可以正常工作了。
INSERT INTO `myDatabase`.`myTable` (`myColumn`) VALUES (NULL);

-3

这个问题的最佳解决方案是将其提供为“0”,在使用字符串时将其用作“null”。

例如:

INSERT INTO table_name(column_name) VALUES(NULL);

1
0和null有非常不同的含义。Null可能意味着我们没有数据。0表示我们知道它是零。或者让我们想象一下对user_id的引用。0将指向id为0的记录,而null表示没有用户。 - borjab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接