create table topic(
-> id INT(11) NOT NULL AUTO_INCREMENT, 이름 데이터타입(길이) 공백X 자동으로 증가(중복x)
-> title VARCHAR(100) NOT NULL,
-> description TEXT NULL,
-> created DATETIME NOT NULL,
-> author VARCHAR(30) NULL,
-> profile VARCHAR(100) NULL,
-> PRIMARY KEY(id)); id를 중복X (고유값을 갖게 한다)
재접속 후 CREATE TABLE 진행할 때는 처음 알려주신 것과 같이 database(schema)를 설정해주고 하는 것이죠??
바로 실행 시 아래 에러가 발생하였고, 다시 database 설정(USE opentutorials) 후 진행 시 정상 실행 됐습니다!:)
오늘도 상세하고 친절한 강의 고맙습니다~이고잉님 덕분에 수월하게 따라가고 있어요!ㅎㅎ
[에러 메세지]
ERROR 1046 (3D000): No database selected
1. USE opentutorials 로 database 설정한 뒤 CREATE TABLE 다시 실행
2. 'topic' table이 이미 존재한다는 에러 메세지 확인 -> 테이블 이름 변경 후 실행(topic_2)
3. 에러 없음 확인
계속 오류가 나는데... 도대체 왜 그런걸까요 ㅠㅠ
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-> id INT(11) NOT NULL AUTO_INCREMENT,
-> title VARCHAR(100) NOT NULL,
-' at line 2
이렇게 떠서 검색해서 찾아보는데도 잘 안 나오네요..
CREATE TABLE opentutorials(
-> id INT(11) NOT NULL AUTO_INCREMENT,
-> title VARCHAR(100) NOT NULL,
-> description TEXT NULL,
-> created DATETIME NOT NULL,
-> profile VARCHAR(100) NULL,
-> PRIMARY KEY(id)
-> );
데이터베이스는 컬럼↓의 데이터 타입을 강제할 수 있음
ex(ID 컬럼 : 1,2,3,4,5(숫자) / title 컬럼: MySQL,ORACLE(문자)
MySQL datatype number 확인
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT, //c1 datatype(length) -> length: 얼마까지 노출시킬지 정함,
NOT NULL: 값이 없는 것을 허용안함, AUTO_INCREMENT: id 값 자동 +1(중복 방지)
title VARCHAR(100) NOT NULL, //VARCHAR 문자열 데이터타입 선언
description TEXT NULL, //TEXT 문자열 데이터타입 선언(본문이므로 많은 글자 수 필요) NULL: 값이 없는 것을 허용
created DATETIME NOT NULL, //DATETIME 날짜 데이터타입 선언
author VARCHAR(30) NULL,
profile VARCHAR(100) NULL,
PRIMARY KEY(id)); //topic 테이블의 id 컬럼이 메인키라는 것을 선언, PRIMARY KEY 1.성능적 측면
2.중복을 방지