mysql新建表(mysql新建表语句)
小栢给大家谈谈mysql新建表,以及mysql新建表语句应用的知识点,希望对你所遇到的问题有所帮助。
mysql新建表(mysql新建表语句)
mysql新建表(mysql新建表语句)
mysql新建表(mysql新建表语句)
1、`name` varchar(255) NOT NULL DEFAULT '''''' COMMENT 'studentName',你们的想法是不是,想在建表时为id指定uuid,然后每次插入数据都会自动为每一条数据生成uuid呢?就像auto_increment主键自增一样呢?下来我们创建一个tablespace,创建tablespace必须指明一个log file group用于存储undo log。
2、还必须指定一个data file,tablespace创建完成后,你可以稍后添加更多的data file到tablespace。
3、下来我们创建一个使用log file group为lg_cloudstor名为 ts_cloudstore的表空间,这个表空间包含cloudstore_data_1.dbf和cloudstore_data_2.dbf两个data file,初始大小为100M(默认为128M),自动扩展为10M。
4、我只想说 you are too young!我一开始是这样做的:create table product(id varchar(36) primary key default uuid()后来查了查资料,发现mysql好像并不支持在建表时,为某一字段指定默认函数值。
5、但是在Oracle数据库中,却支持这样干,也就可以实现插入数据时,自动生成uuid。
6、所以在mysql中只能在插入数据时,将uuid()函数值赋值给id字段。
7、后来,我又想了一个方案,我可以去写一个触发器,每次在执行插入作时,都为id字段更新为uuid(),但是这种方式还是存在很多问题的,这里就不说了。
8、说明一点(uuid适不适合作为主键):uuid号称“全球”,实际上业务中一般不会GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;只用一个uuid就保证某个字段的性,因为它并不能保证性,uuid的组成:Mac地址+时间戳+自增序列,前两个都可以修改,自增序列在不同机器本身就无法保证。
9、既然无法保证,那么没有任何处理的情况下直接将uuid作为主键,显然也是不合适的。
本文到这结束,希望上面文章对大家有所帮助。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。