一尘不染

varchar(0)的用途是什么

sql

我最近遇到了一个由于数据库创建脚本中的输入错误而导致的问题,即在数据库中创建了varchar(0)而不是的列varchar(20)

我以为0长度字符串字段会出错,但是我没有。无论如何,varchar(0)或者char(0)我将无法在此列中存储任何数据的目的是什么。


阅读 889

收藏
2021-03-10

共1个答案

一尘不染

根据SQL-92标准不允许,但在MySQL中允许。从MySQL手册

MySQL允许您创建type的列CHAR(0)。这主要在您必须与依赖于列存在但实际上不使用其值的旧应用程序兼容时很有用。CHAR(0)当您需要一个只能包含两个值的列时,它也非常好:被定义为CHAR(0)NULL的列仅占用一位,并且只能接受值NULL''(空字符串)。

2021-03-10