본문 바로가기
개발/스프링부트-게시판만들기

회원 및 게시판 테이블 만들기

by wusdlqslek 2024. 4. 11.
DROP TABLE IF EXISTS `BOARD`;
CREATE TABLE IF NOT EXISTS `BOARD` (
  `no` bigint(20) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  `user_no` bigint(20) NOT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  PRIMARY KEY (`no`),
  KEY `user_no` (`user_no`),
  CONSTRAINT `fk_board_user` FOREIGN KEY (`user_no`) REFERENCES `USER` (`no`)
);

DROP TABLE IF EXISTS `COMMENT`;
CREATE TABLE IF NOT EXISTS `COMMENT` (
  `no` bigint(20) NOT NULL AUTO_INCREMENT,
  `content` text NOT NULL,
  `user_no` bigint(20) NOT NULL,
  `board_no` bigint(20) NOT NULL,
  `parent_no` bigint(20) DEFAULT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  PRIMARY KEY (`no`),
  KEY `user_no` (`user_no`),
  KEY `board_no` (`board_no`),
  KEY `parent_no` (`parent_no`),
  CONSTRAINT `fk_comment_user` FOREIGN KEY (`user_no`) REFERENCES `USER` (`no`),
  CONSTRAINT `fk_comment_board` FOREIGN KEY (`board_no`) REFERENCES `BOARD` (`no`),
  CONSTRAINT `fk_comment_parent` FOREIGN KEY (`parent_no`) REFERENCES `COMMENT` (`no`)
);

DROP TABLE IF EXISTS `USER`;
CREATE TABLE IF NOT EXISTS `USER` (
  `no` bigint(20) NOT NULL AUTO_INCREMENT,
  `user_id` varchar(255) NOT NULL,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(255) DEFAULT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  PRIMARY KEY (`no`)
);
반응형

댓글