查MySQL某个表的引擎:
方法1) show table status where name='$Table_Name' 方法2) xxd -l 4 tablename.frm 0000000: fe01 0909 xxd -l 4 tablename.frm 0000000: fe01 0a0c 前面4位固定为fe01,紧接着4位,0C为InnoDB,09为MyISAM
查看全局引擎支持类型
show engines;
MyISAM限制:
没有外键更新删除
无法回滚
没有事务
行数最多为4284867296
每一行最大的索引为64个
InnoDB限制:
不能全文索引,最新版貌似可以英文
MyISAM使用表级别的锁,而InnoDB使用行级别的锁。
更改全局引擎:
SET storage_engine=$Engine
建表指定为InnoDB,默认为MyISAM
CREATE TABLE table_name (rid INT) ENGINE = INNODB; CREATE TABLE table_name (rid INT) TYPE = INNODB;
转换一个表的存储引擎为InnoDB:
ALTER TABLE table_name ENGINE = INNODB;
xxd -l 4 tablename.frm
这是在命令行吗?
是在命令行的
show table status where name=’$Table_Name’
这样子即使是php中也是不对的吧?
show table status where name=’Table_Name’没有$符号
CREATE TABLE table_name (rid INT) TYPE = INNODB;这句报错
把Table_Name换成你自己的表名才可以的
想学mysql。但是不知道怎么学。。
没看懂