MariaDB扩展特性--虚拟列
存在于表中的列,它们的值是根据确定的表达式或者是根据表中其他列的值自动计算的。
虚拟列有两种,分别对应了定义虚拟列的修饰关键词:
‘VIRTUAL’修饰词含义为该虚拟列的值会在查询的时候计算生成。
‘PERSISTENT’修饰词含义为该虚拟列的值存储子表中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | create table example_vc_tbl( c1 int not null auto_increment primary key , c2 varchar (70), vc1 int as (length(c2)) virtual, vc2 varchar (10) as ( left (c2,10)) persistent ); MariaDB [test]> desc example_vc_tbl; + -------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | + -------+-------------+------+-----+---------+----------------+ | c1 | int (11) | NO | PRI | NULL | auto_increment | | c2 | varchar (70) | YES | | NULL | | | vc1 | int (11) | YES | | NULL | VIRTUAL | | vc2 | varchar (10) | YES | | NULL | PERSISTENT | + -------+-------------+------+-----+---------+----------------+ 4 rows in set (0.01 sec) |
在执行插入操作时,虚拟列使用default关键字代替。
1 2 3 4 5 6 7 8 9 10 | MariaDB [test]> insert into example_vc_tbl(c2,vc1,vc2) values ( '你说你双休日不去泡妞还在电脑前做什么?' , default , default ); Query OK, 1 row affected (0.01 sec) MariaDB [test]> select * from example_vc_tbl; + ----+-----------------------------------------------------------+------+--------------------------------+ | c1 | c2 | vc1 | vc2 | + ----+-----------------------------------------------------------+------+--------------------------------+ | 1 | 你说你双休日不去泡妞还在电脑前做什么? | 57 | 你说你双休日不去泡妞 | + ----+-----------------------------------------------------------+------+--------------------------------+ 1 row in set (0.00 sec) |
安心做技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧