mysql交叉编译后最小(10)的10表示显示的数据的长度,不是存储数据的大小;chart(10)和varchar(10)的10表示存储数据的大小,即表示存储多少个字符。 int(10) 10位的数据长度 9999999999,占32个字节,int型4位 char(10) 10位固定字符串,不足补空格 最多10个字符 varchar(10) 10位可变字符串,不足补空格 最多10个字符char(10)表示存储定长的10个字符,不足10个就用空格补齐,占用更多的存储空间varchar(10)表示存储10个变长的字符,存储多少个就是多少个,空格也按一个字符存储,这一点是和char(10)的空格不同的,char(10)的空格表示占位不算一个字符
创新互联建站为企业级客户提高一站式互联网+设计服务,主要包括成都网站设计、成都网站制作、外贸网站建设、手机APP定制开发、微信小程序开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。
php的函数addslashes();可以在引号上面加上\,避免提交时报语法错误。
文章用text类型没问题。
问题:
返回结果错误;
明明没有' '的行,居然匹配一堆数据;
对比发现返回的都是''匹配的行
验证:
有趣的是,
google答案:
这个失败的原因在这里的文档 中解释:
CHAR和VARCHAR列中的值按照排序和比较 到分配给列的字符集整理。
所有MySQL串联都是类型的PADSPACE.这意味着所有CHAR, 将MySQL中的varchar和TEXT值进行比较,而不考虑任何内容 在这种情况下,“比较”不包括 像pattern-matching运算符,尾随空间是 重要。
解决这个问题的一种方法是将其转换为BINARY
您还可以使用LIKE:
举例如下:
int main(void){
char ch;
string mysql;
while(cin.get(ch),ch!='\n')
mysql+=ch;
cout mysql endl;
return 0;
}