MySql中建表语句

yeyu333 2017-06-23 12:31:42
经过一番查找,发现并没有找到合理回答。
首先,通过hibernate的自动创建中间表,语句如下:
CREATE TABLE `center` (
`cno` int(11) NOT NULL,
`sno` int(11) NOT NULL,
`uuid` bigint(20) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`cno`,`sno`,`uuid`),
KEY `FKAEB2CC5551F98A16` (`cno`),
KEY `FKAEB2CC5543F029F8` (`sno`),
KEY `uuid` (`uuid`),
CONSTRAINT `FKAEB2CC5543F029F8` FOREIGN KEY (`sno`) REFERENCES `student` (`sid`),
CONSTRAINT `FKAEB2CC5551F98A16` FOREIGN KEY (`cno`) REFERENCES `course` (`cid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

这个是多对多的表,(学生对课程);
然后,不通过hibernate自动生成,自己仿照上面的语句在mysql可视化工具中创建一个多对多的角色对资源的表,可以倒是可以。
但是,有些不太符合常用的写法,比如 对于唯一主键,
id bigint primary key auto_increment
还有,就是 constraint 和 后面一长串编码,不知道这个的意义何在。
有根据这个官方版本尝试修改去除些这些看起来复杂的东西,但是总有各种各样的写法。
所以,如果能简便的写,是哪一种版本?
谢谢


...全文
400 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2017-06-26
  • 打赏
  • 举报
回复
语法只要质量好官网文档就可以了,楼主这是不看书
ACMAIN_CHM 2017-06-25
  • 打赏
  • 举报
回复
MYSQL官方免费手册中的语法说明很详细了。
引用
create_definition: col_name column_definition | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) [index_option] ... | {INDEX|KEY} [index_name] [index_type] (index_col_name,...) [index_option] ... | [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...) [index_option] ... | {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,...) [index_option] ... | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition | CHECK (expr)
yeyu333 2017-06-23
  • 打赏
  • 举报
回复
那么如果不添加这种样式是否可行呢?
rucypli 2017-06-23
  • 打赏
  • 举报
回复
constraint 和 后面一长串编码 没啥意义 就是个唯一字符串

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧