标签: varchar

MySQL VARCHAR大小限制

如果我在表中有一个类型字段的列,VARCHAR(15)如果我尝试插入长度为16的数据,MySQL会给出一个错误说明

Data too long for column 'testname' at row 1
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么MySQL中的VARCHAR字段需要固定长度?VARCHAR字段根据给定的大小每个记录占用多少字节?

mysql size varchar

18
推荐指数
2
解决办法
6万
查看次数

在CHARACTER VARYING字段中防止空字符串

我正在使用PostgreSQL,并希望阻止某些必需的CHARACTER VARYING(VARCHAR)字段允许空字符串输入.

这些字段还需要包含唯一值,因此我已经使用了一个唯一约束; 但是,这不会阻止原始(唯一)空值.

基本示例,其中用户名必须是唯一的而不是空的

| id | username | password |
+----+----------+----------+
| 1  | User1    | pw1      | #Allowed
| 2  | User2    | pw1      | #Allowed
| 3  | User2    | pw2      | #Already prevented by constraint
| 4  | ''       | pw2      | #Currently allowed, but needs to be prevented
Run Code Online (Sandbox Code Playgroud)

postgresql varchar constraints

18
推荐指数
3
解决办法
7318
查看次数

究竟什么意味着VARCHAR2字段的大小被声明为1 BYTE?(进入Oracle DB)

我不是这样database,我有以下疑问.

我知道我可以varchar2使用它可以包含的char的数量声明一个字段.

但是Oracle在我正在处理的数据库中,我发现一个字段(名为PDF)定义为:

VARCHAR2(1 BYTE)
Run Code Online (Sandbox Code Playgroud)

究竟意味着什么?它包含多少人?

另一个疑问是:VARCHAR场和VARCHAR2场之间究竟有什么区别?

TNX

sql oracle varchar sqldatatypes

18
推荐指数
3
解决办法
9万
查看次数

查找Oracle中不包含数字数据的行

我试图在一个非常大的Oracle表中找到一些有问题的记录.该列应包含所有数字数据,即使它是varchar2列.我需要找到不包含数字数据的记录(当我尝试在此列上调用它时,to_number(col_name)函数会引发错误).

sql oracle varchar numeric varchar2

17
推荐指数
3
解决办法
9万
查看次数

我应该使用内联varchar(max)列还是将其存储在单独的表中?

我想在MS SQL Server 2005中创建一个表来记录某些系统操作的详细信息.从下面的表格设计中可以看出,除了之外的每一列Details都是不可为空的.

CREATE TABLE [Log]
(
[LogID] [int] IDENTITY(1,1) NOT NULL,
[ActionID] [int] NOT NULL,
[SystemID] [int] NOT NULL,
[UserID] [int] NOT NULL,
[LoggedOn] [datetime] NOT NULL,
[Details] [varchar](max) NULL
)
Run Code Online (Sandbox Code Playgroud)

因为Details列中不会始终包含数据.将此列存储在单独的表中并提供指向它的链接是否更有效?

CREATE TABLE [Log]
(
[LogID] [int] IDENTITY(1,1) NOT NULL,
[ActionID] [int] NOT NULL,
[SystemID] [int] NOT NULL,
[UserID] [int] NOT NULL,
[LoggedOn] [datetime] NOT NULL,
[DetailID] [int] NULL
)       

CREATE TABLE [Detail]
(
[DetailID] [int] IDENTITY(1,1) NOT NULL,
[Details] [varchar](max) NOT NULL …
Run Code Online (Sandbox Code Playgroud)

sql-server varchar normalization

16
推荐指数
2
解决办法
6822
查看次数

BLOB与VARCHAR用于在MySQL表中存储数组

我有一个设计决定,我正在寻找一些最佳实践建议.我有一个java程序,需要在MySQL数据库中存储大量(每天几百个)浮点数组.数据是一个长度Double为300 的固定长度数组.我可以看到三个合理的选项:

  1. 将数据存储为BLOB.
  2. 序列化数据并将其存储为VARCHAR.
  3. 将数据作为二进制文件写入磁盘并存储对它的引用.

我还要提一下,这些数据将被频繁地读取和更新.

我想使用BLOB,因为这是我过去所做的,它似乎是最有效的方法(例如,保持固定宽度,不需要转换为逗号分隔的字符串).然而,我的同事坚持认为我们应该序列化和使用varchar,原因似乎主要是教条.

如果其中一种方法比另一种更好,那么Java或MySQL的具体原因是什么?

java mysql arrays varchar blob

16
推荐指数
2
解决办法
1万
查看次数

为什么我创建一个varchar(65535),我得到一个中等文本?

中间文本和varchar(65535)是否相同?我在这里的意思是他们是将数据直接存储在表中还是mediatext类型存储指针?我问这个是因为如果我尝试创建一个varchar(65535),它会自动转换为中间文本(如果长度实际上大于21811).


我有另一个相关的问题是:

我在桌子上有一些字段,我希望能够存储很多字符(大约10'000).但实际上,它几乎总是存储不超过10个字符.

所以我的问题是,我是否需要使用文本或varchar(10000)类型以获得最佳性能?

我相信varchar类型更适合这种情况.

提前感谢您的回答.

编辑

我不明白的是为什么他们说自从mysql 5.0.3以来我们可以创建一个varchar(65535),但是当我们尝试这样做时,它会将它转换为一个中间文本.对我来说,varchar和text(mediumtext include)之间的区别在于它们的存储方式(使用指针与否).那么为什么他们说我们可以创建长度为65535的varchar,如果我们不能呢?

mysql varchar text

16
推荐指数
2
解决办法
5642
查看次数

在rails中定义MySQL的varchar长度

我想在生成模型的过程中通过git-bash定义rails中varchar的大小,例如name varchar(20),age varchar(6).

我在堆栈上搜索但找不到任何答案.

mysql varchar ruby-on-rails ruby-on-rails-3

16
推荐指数
1
解决办法
1万
查看次数

16
推荐指数
1
解决办法
4万
查看次数

iOS和Androids设备令牌的长度是多少

我需要将我的用户iOS和Android设备令牌保存到mySql数据库中,以便我可以发送推送通知.

我现在的问题是iOS和Android的设备令牌的长度是一个列varchar(64)足以用于令牌吗?

mysql varchar android ios

15
推荐指数
2
解决办法
1万
查看次数