不对。因为没有排序的情况下,limit 1,并不能保证取的是第一条记录。
步骤如下:
1、创建测试表;
create table test_aaa(id int, bbb int , ccc int)
2、插入测试数据;
insert into test_aaa values(1, 111, 222)
insert into test_aaa values(3, 333, 444)
insert into test_aaa values(2, 555, 666)
3、查询表中数据;可以看下id并没有排序;
select * from test_aaa
4、重新排序后,再取第一条记录;并去bbb字段的长度;
select id, length(bbb) lb
from (select * from test_aaa order by id) t
limit 1
这是计算机的基础知识与MySQL无关,1个位就表示1个二进制位,8位表示一个标准字节,而字节编码就是字符的代号,AscII用Asni编码表示,8位一个字节,而中文字符由于字符过多用一个字节无法足够表示,就用了2个字节来表示,除了2字节长度的编码还有3字节和4字节的一、数字类型
二、字符串类型
另外,当varchar太大时,会自动转化为text
大于varchar(255)变为 tinytext
大于varchar(500)变为 text
大于varchar(20000)变为 mediumtext
三、日期和时间类型
DATE3 个字节
DATETIME 8 个字节
TIMESTAMP 4 个字节
TIME 3 个字节
YEAR 1 字节
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)