重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
MySQL 3.22限制的表大小为4GB。由于在MySQL 3.23中使用了MyISAM存储引擎,最大表尺寸增加到了65536TB(2567 – 1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。
成都创新互联公司是一家专业提供嘉荫企业网站建设,专注与网站建设、网站设计、H5技术、小程序制作等业务。10年已为嘉荫众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。
在下面的表格中,列出了一些关于操作系统文件大小限制的示例。这仅是初步指南,并不是最终的。要想了解最新信息,请参阅关于操作系统的文档。
操作系统
文件大小限制
Linux 2.2-Intel 32-bit
2GB (LFS: 4GB)
Linux 2.4+
(using ext3 filesystem) 4TB
Solaris 9/10
16TB
NetWare w/NSS filesystem
8TB
win32 w/ FAT/FAT32
2GB/4GB
win32 w/ NTFS
2TB(可能更大)
MacOS X w/ HFS+
2TB
mysql不支持 嵌入式的sql 所以 你的要求不能实现了。
不过可以在程序层实现的
伪代码:
start transacation
select 库存 from 库存表
if ($购买数量库存)
echo “error”
else
insert 出库单 xxxxxx
update 库存
commit
找到库存表,找到库存数量的字段,用语句修改库存数量的值即可。
如:库存表:stock 库存数量字段:nums
update stock set nums = nums + 1 where sku_id = 10 (修改sku_id为10的纪录,将数量在原基础上加1)
注意:1.正式数据库不要随意改动 2.update语句中尽量加上where条件,即便条件是where 1=1(养成这个习惯),有句话这样说,update语句如果不加where条件生孩子会没屁眼????