首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定列是否支持mysqli中的"Null“值

问确定列是否支持mysqli中的"Null“值
EN

Stack Overflow用户
提问于 2013-01-21 21:23:18
回答 5查看 1.1K关注 0票数 0

我有一个100表的mysql数据库。有些列允许空值,有些不允许。我在php mysqli中动态插入表中的数据。我使用以下代码来插入任何空值:

$value = ($value == "") ? null : $value;

但是,这样做的问题是我得到了Column 'XXX' cannot be null错误。如何确定该列是否支持空值?

请帮帮忙。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-01-21 21:44:05

您可以通过数据库information_schema获取所需的有关数据库结构的所有信息,如下所示(您需要列IS_NULLABLE):

代码语言:javascript
复制
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name'
  AND table_schema = 'db_name'
  AND column_name = 'col_name'

参考:http://dev.mysql.com/doc/refman/5.0/en/columns-table.html

票数 1
EN

Stack Overflow用户

发布于 2013-01-21 21:37:39

在数据库中,为非NULL的字段设置默认值"“(空字符串)。因此,如果您插入空值,MySQL会将其替换为默认的"“。

或

代码语言:javascript
复制
SHOW COLUMNS FOR `table_name`;

查看名为Null的字段

票数 0
EN

Stack Overflow用户

发布于 2013-01-21 21:41:27

您可以从information_schema数据库(IS_NULLABLE字段)获取此信息-

代码语言:javascript
复制
SELECT
  TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, IS_NULLABLE
FROM
  information_schema.COLUMNS
WHERE
  TABLE_SCHEMA = 'db_name' AND TABLE_NAME = 'table_name'; -- specify your filter
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14439631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档