标签: varchar

MySQL varchar索引长度

我有这样一张桌子:

CREATE TABLE `products` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(512) NOT NULL,
  `description` text,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

和这样的一个:

CREATE TABLE `product_variants` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `product_id` int(11) unsigned NOT NULL,
  `product_code` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `product_code` (`product_code`),
  KEY `product_variant_product_fk` (`product_id`),
  CONSTRAINT `product_variant_product_fk` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1037 DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

和这样的SQL语句

SELECT p.id AS id, p.name AS name, p.description AS description, pv.id …
Run Code Online (Sandbox Code Playgroud)

mysql indexing varchar

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

MySQL太长varchar截断/错误设置

我有两个MySQL实例.第一个在数据太长时截断插入的字符串.第二个引发错误:

ERROR 1406 (22001): Data too long for column 'xxx' at row 1

我希望第二个也截断数据.是否有任何MySQL设置来管理此行为?

mysql settings varchar

32
推荐指数
2
解决办法
3万
查看次数

MySQL:为什么使用VARCHAR(20)而不是VARCHAR(255)?

可能重复:
对所有基于文本的字段使用泛型varchar(255)是否有缺点?

在MYSQL中,您可以为VARCHAR字段类型选择长度.可能的值为1-255.

但是如果你使用最大的VARCHAR(255)而不是VARCHAR(20),它有什么优势?据我所知,条目的大小仅取决于插入字符串的实际长度.

size(字节)=长度+ 1

因此,如果在VARCHAR(255)字段中有"示例"一词,则它将具有8个字节.如果你在VARCHAR(20)字段中有它,它也会有8个字节.有什么不同?

我希望你能帮助我.提前致谢!

mysql database varchar types

30
推荐指数
3
解决办法
6万
查看次数

在表中使用VARCHAR(MAX)有缺点吗?

这是我的困境.

基本上,我需要一个表中的列来保持未知长度的字符.但我很好奇,如果在一个列中使用VARCHAR(MAX)或NVARCHAR(MAX)可能会出现Sql Server性能问题,例如:'这次'我只需要存储3个字符,而且大部分时间我只需要存储10个字符.但是在该专栏中可能会有几千个字符,甚至可能是一百万字,这是一个很小的机会,这是不可预测的.但是,我可以保证它不会超过2GB的限制.

我只是好奇是否有任何性能问题,或者可能有更好的方法来解决这个问题.

sql-server varchar nvarchar

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

varchar字段的声明大小对PostgreSQL有影响吗?

从性能的角度来看,VARCHAR(100)是否比VARCHAR(500)更好?磁盘使用情况怎么样?

今天谈论PostgreSQL,而不是历史上的一些数据库.

postgresql performance varchar diskusage

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

oracle varchar到数字

如何将oracle varchar值转换为数字

例如

table - exception
exception_value 555 where exception_value is a varchar type
Run Code Online (Sandbox Code Playgroud)

我想测试exception_value列的值

select * from exception where exception_value = 105 instead of
select * from exception where exception_value = '105'
Run Code Online (Sandbox Code Playgroud)

oracle varchar numbers

29
推荐指数
3
解决办法
14万
查看次数

MySQL - TEXT与CHAR和VARCHAR

阅读这个问题时,我的脑海中浮现出一个疑问:

  • char和varchar最多可以存储255个字符
  • 文本可以存储多达65k字符
  • 字符大小(以字节为单位)是字符数
  • varchar size(以字节为单位)是使用的字符数+ 1

那么TEXT实际占用了多少字节?~65kb或使用的字符数+ 1?

mysql varchar text types char

29
推荐指数
2
解决办法
4万
查看次数

varchar(-1)是什么意思?

SQL Server 2008中varchar(-1)的含义是什么?它是varchar(max)的替代品吗?

sql sql-server varchar sql-server-2008

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

MySQL varchar(2000)vs text?

我需要平均存储一段文本,在数据库中约为800个字符.在极少数情况下,它可能会达到2000-2500~字符.我已经阅读了手册,我知道已经有很多这样的问题了,但我已经阅读了10多个关于stackoverflow的问题,我仍然觉得有点难以弄清楚我是否应该简单地使用文本或类似varchar( 2000).一半似乎说使用varchar,而另一半说文字.有些人说如果你有超过255个字符,总是使用文本(是的,这是在5.0.3之后允许varchar高达65k).但后来我想,如果每次字符都超过255时我都会使用文本,那么为什么mysql总是在增加大小,如果这总是最好的选择呢?

它们都有可变的存储空间我读过,所以我的情况会有所不同吗?我个人倾向于varchar(2000)然后我读到varchar存储数据内联而文本没有.这是否意味着如果我不断选择此列,将数据存储为varchar会更好,相反,如果我很少选择此列,那么使用文本会更好吗?如果这是真的,我想我现在会选择文本列,因为我不会在桌面上运行查询时多次选择此列.如果重要的话,这个表也经常加入(但不会选择列),这是否会进一步增加使用文本的好处?

我的假设是否正确,在这种情况下我应该使用文本?

mysql varchar text

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

在将其插入SQL Server数据库之前验证DateTime

datetime在将字段插入适当的表之前,有没有办法验证字段?

尝试使用try/catch块插入不是一种方法.

谢谢,

c# validation datetime varchar sql-server-2008

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