草庐IT

varchar_number

全部标签

mysql - UTF-8 的 Varchar?

我找到了一篇关于此的类似帖子,但仍不确定。当我制作我的留言簿等多语言时,我在mysql中将排序规则更改为uft8_unicode_ci,一切正常,我没有想到的是我使用的类型,我的留言簿是多语言的并且对于名称字段,用户不能输入超过50个字符,主题相同,留言簿消息不能超过800个字符。现在在PHP中执行此检查很简单,即。在strlen等之前使用mb_检查字符串长度。但我担心数据可能会在mysql中被截断。显然普通字符可以,但是当它是汉字和其他非标准字符时,这显然是我的一个问题,因为我不知道varchar将如何计算它们。 最佳答案 从my

php - SQLSTATE[HY093] : Invalid parameter number: parameter was not defined (PDO)

我知道:这已经死了。但是,相信我,我已经研究了很长时间来解决这个问题。我想要实现的是一个用于PDO的PDOMySQL数据库包装器,我可以将其合并到我的代码中。我的主要问题特别源于两个函数,以及我试图达到的参数的实际绑定(bind)。我说两个函数而不是一个函数的原因是,尽管我做了很多努力,但我仍无法发现是哪个函数在尝试解决问题。我已经var_dumped的变量确认它不是变量,它是别的东西。不过,我一开始就收到此错误的事实意味着某事一定是代码有问题。图表A:fetch($table,$columns,$whereArgs)此函数的目的是简单地获取一行。这是通过接受要获取的行的表以及完成任务

php - MySQL 在整数前不存储零(字段设置为文本(或 varchar))

我正在通过HTML将表单提交到POSTPHP页面,然后该页面将该信息存储到MySQL数据库中。输入字段之一是可以从零开始的数字字段。我已将HTML数据类型设置为表单上的文本,并尝试将MySQL数据类型设置为文本和varchar,并且在整数被删除之前两次都为零。我不太确定我做错了什么。这是我创建表的PHP代码:$sql="CREATETABLEIFNOTEXISTS$tablename_db(IDintNOTNULLAUTO_INCREMENT,PRIMARYKEY(ID),numtext(4),amntDECIMAL(8,2));";下面是表单域的样子:#(last4digits):A

mysql - 从 varchar 字段获取最大值

我有一个varchar字段作为我的员工ID,它的格式如下:格式:YYYY-DateHired-Number示例:2012-1203-0001但是我很难插入新记录,因为要插入一个新的递增ID,在增加它之前,我需要获取该字段中的最新值。如何获取最近一年中最新/最高(MAX)Number的行?提前致谢:) 最佳答案 假设您的EmployeeID的格式是YYYY-MMdd-XXXX。试试这个,SELECTMAX(EmployeeID)FROMtableNameWHEREEmployeeIDLIKECONCAT(SUBSTRING(Emplo

mysql - Mysql 上的 Varchar 问题 2147483647

遇到2147483647MYSQL问题。当在电话字段中插入一个11位数字时,我得到这个号码作为返回保存在DB:2147483647TEL设置为VARCHAR而不是INT很难。此外,在SERVER1上托管的数据库上,我有完全相同的数据库表,但没有遇到同样的问题?!可能是什么?这是SQL和PHPtel_novarchar(20)utf8_general_ciYesNULLmob_novarchar(20)utf8_general_ciYesNULL这就是MYSQL。是的,我在数据库中插入一个11位数字作为字符串$telno=GetValue($post['tel_no']);$mobno=

mysql - 排序 varchar 列

我有一个ChaptersColumns,它的值如下Chapter1Chapter2Chapter11Chapter12Chapter3Chapter4当我订购它时,它显示为Chapter1Chapter11Chapter12Chapter2Chapter3Chapter4我需要这样的Chapter1Chapter2Chapter3Chapter4Chapter11Chapter12 最佳答案 这称为自然排序。你能试试这个吗?但没有完美的自然排序方法。SELECTcolFROMtabORDERBYLENGTH(col),col;即使前

sql - 我在 PostgreSql : number of referencing and referenced columns for foreign key disagree 中收到错误

我正在创建一个表,但出现此错误:numberofreferencingandreferencedcolumnsforforeignkeydisagree.不知道怎么解决。我认为声明3个外键可能有问题,但我不确定。问题是什么?CreatetableTrasllat(DataDate,Codi_EmpleatInteger,Nom_agenciaVarchar(30),Data_fiDate,Primarykey(Data,Codi_Empleat),Foreignkey(Data)referencesDataondeletecascade,Foreignkey(Codi_empleat)

php - 卡住无效参数编号 : number of bound variables does not match number of tokens

我已经被困在这个问题上很长一段时间了,我似乎找不到适合我情况的另一个答案。在我的用户类中:publicfunctionregister($uFirstName,$uLastName,$uCompany,$uEmail,$uPassword,$uAccess){try{$newPassword=password_hash($uPassword,PASSWORD_DEFAULT);$stmt=$this->db->prepare("INSERTINTOusers(FirstName,LastName,Company,Email,Password,Access)VALUES(:uFirstN

mysql - 在 MySQL/Sequel Pro 中将 VARCHAR 列转换为 INT

我正在尝试将数据库中的列从VARCHAR设置为INT(值已经在数据库中)执行此操作时,会发生以下情况(示例):|number(varchar)|number(int||20090911913>2147483647||3009092113>2147483647|每个数字都是唯一的(具有VARCHAR值),当将列设置为INT时,所有值都变得相同(2147483647)。请注意,所有值都是VARCHAR时不包含字母(我检查过)现在我不知道为什么会这样,数据来自CSV,我在导入SequelPro时检查记录是否有不同的编号(不是2147483647)。在GUI中它显示它是不同的,但是当所有导入时

mysql - 如何使用数字搜索 varchar 列?

我有一个varchar(30)列,如下所示:953-41975-12952-13934-34该列的所有数字都采用以下结构:3个数字和一个短划线后跟更多数字。我想做一个像SELECT*FROMtablenameWHEREvalue=95341这样的查询并且仅使用WHERE子句中的数字获取'953-41'。我无法更改我的数据库并删除破折号,我需要在混合了我想要的数字和中间破折号的行上使用数值进行搜索。 最佳答案 你可以试试:数据库:SELECT*FROMtablenameWHEREvalue=INSERT(95341,4,0,'-')S