草庐IT

varchar_number

全部标签

mysql - 是否可以在不转换的情况下增加 MySQL 中 varchar 的最大大小?

我有一个包含约2000万行的MyISAM表,需要增加varchar的最大大小。无论我如何表达ALTERTABLE查询,它都需要永远,因为MySQL将所有数据复制到临时表,重新索引等等-它似乎认为数据需要转换。因为它已经是一个varchar,所以我认为它不需要执行任何这些操作。有没有什么方法可以强制MySQL增加varchar的最大长度,而无需经历这个极其缓慢和痛苦的过程?我正在理想地寻找可以完全使用SQL完成的东西,所以没有涉及复制.frm文件等的技巧。 最佳答案 另一种选择是创建表的副本,但随着VARCHAR的增加,您需要该表。但

mysql - 在超大 MYSQL 表中查找 varchar 列的不同值

我想在一个超大的MYSQL表(10亿行)中找到一个varchar列的不同值。我有以下解决方案:1.selectdistinct(col_name)frommytable;2.exportthiscolumntoatextfileincrementally(selectcol_namefrommytablewheremyid>xandmyid第一种方法的问题(即使列被索引)是查询可能会在很长一段时间内崩溃,然后您需要重新开始。我倾向于第二种方式,还有其他更快的方式吗? 最佳答案 ......SELECTcol_nameFROMmyta

java - MySql 中的 Row_Number() 结果值为 Double,但在 IBM Data Studio 中结果为 Int

我希望java中的结果值像IBMDataStudio中那样是Int,但在我的例子中,java生成的值是double的,我不知道为什么?请帮助修复它!这是我在表中生成数字的java代码privatevoidpolDatToTab(ResultSetrs,JTabletable)throwsSQLException{String[]colHead=newString[]{"No","NIK","Nama"};DefaultTableModeltm=newDefaultTableModel();ResultSetMetaDatarsd=rs.getMetaData();VectornameC

mysql varbinary 与 varchar

我们使用varchar(255)在mysql中存储“关键字”。我们面临一个问题,即mysql会忽略“=”中用于比较目的的所有尾随空格。它确实尊重“like”比较中的尾随空格,但它不允许我们在varchar列中存储带有和不带有尾随空格的相同单词(如果它上面有“UNIQUE”索引)。因此,我们正在考虑改用varbinary。当列值中有多字节字符时,有人能提出建议吗? 最佳答案 安多马尔我们使用5.0.5版。所有mysql版本都忽略尾随空格进行比较。来自手册:AllMySQLcollationsareoftypePADSPACE.This

varchar 和 int 的 mysql 列顺序

这个问题在这里已经有了答案:Queryspeedbasedonorderofcolumns(4个答案)关闭8年前。访问表时是否有速度差异:INT,INT,INT,VARCHAR(255),VARCHAR(255),VARCHAR(255),VARCHAR(255),VARCHAR(255)ORINT,VARCHAR(255),VARCHAR(255),VARCHAR(255),VARCHAR(255),VARCHAR(255),INT,INT比如,首先放置固定长度的列会让事情变得更快吗?澄清一下:第一列INT是两者的索引,自动递增。它是myism,但是innodb会有所作为吗?不幸的是

mysql - MySQL 会自动最小化重复的 VARCHAR 存储吗?

问题针对的是在Ubuntu10.04LTSServer上运行的MySQL5.5,默认的InnoDB表类型...假设我有一个包含房屋地址的表“Address”,其中包含列“number”、“street”、“district”、“town”、“county”和“postcode”。我将在这些列中有许多具有相同值的行,并且我将单独为它们建立索引以进行搜索。假设我将每一列实现为VARCHAR(127)并创建1000行,所有行都包含town='London'。这是否意味着我最终在我的数据库中得到了字符串“London”的1000个副本,或者MySQL做了一些聪明的事情并仅存储该字符串一次,然后

mysql - 企业/公司名称的 SQL varchar 列长度

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion是否有与存储公司/企业名称相关的varchar长度标准?我到处都找遍了,找不到答案。如果不是,覆盖大多数场景的理想长度是多少?

java - MySQL 存储过程 : search for a variable number of strings

我需要一个调用如下的存储过程:search('foobar')搜索类似于:SELECTFROMA,BWHEREA.B_ID=B.IDAND(A.f1LIKE'%foo%'ORA.f2LIKE'%foo%'ORB.f3LIKE'%foo%')AND(A.f1LIKE'%bar%'ORA.f2LIKE'%bar%'ORB.f3LIKE'%bar%')还有一些疑惑和疑问:我无法将数组传递给过程,所以我唯一的选择是像示例中那样直接传递字符串('foobar')?所以我假设我必须在SP代码中进行拆分。我不知道如何,所以我搜索并找到了thissolution.正在使用临时表和我认为很多笨拙的代码。

mysql - varchar 与 mediumtext

我有一个网站,在mysql数据库中有大约1000个不同的字符串,用于显示我网站上的所有文本。字符串存储在数据库中的原因是因为我支持2种不同的语言,并且需要能够根据用户偏好(英语和中文)显示不同的语言字符串的长度各不相同,可能有250个字符串太长而无法放入varchar。我即将实现这个数据库,但我不确定是否要使用适合750个字符串的varchars构建一个表,然后使用另一个使用mediumtext的表来存储剩余的250个更长的字符串。varchar和mediumtext之间的性能差异是否足以保证设置2个表的额外麻烦?或者您会建议只使用1个表,所有内容都使用mediumtext。用户将无法

只有一个 varchar 作为外键的 MySQL 表

我有一个表,其中包含一个唯一的VARCHAR(512)字段。我想让另一个表保存对第一个表的外键引用。两个表都使用InnoDB。如果我向第二个表添加一个VARCHAR(512)键并在其上添加一个外键约束,那么512字节长的数据是否会保留两次?如果是这样,有没有办法只保留对索引的引用而不是对varchar本身的引用?简而言之,我的问题是,在InnoDB中是否有一种有效的方法来将外键保存到长VARCHAR字段?非常感谢,亚尼夫 最佳答案 我进行了一个简单的测试:创建3个表,一个用两列保存数据本身,ID(int)和数据(varchar[12