KO 한국어
버전: v2.6.0

create

새 테이블을 만듭니다.

create($table, $columns, $options)
반환값
[PDOStatement] 실행된 쿼리에 대한 PDOStatement 인스턴스입니다.

기본 예제

각 컬럼을 배열로 정의하면 Medoo가 이를 완전한 컬럼 정의로 조합합니다.
$database->create("account", [
	"id" => [
		"INT",
		"NOT NULL",
		"AUTO_INCREMENT",
		"PRIMARY KEY"
	],
	"first_name" => [
		"VARCHAR(30)",
		"NOT NULL"
	]
]);
CREATE TABLE IF NOT EXISTS account (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	first_name VARCHAR(30) NOT NULL
)

Identity 컬럼

목록 항목으로 "@id"를 추가하면 id라는 이름의 자동 생성 정수 기본 키를 정의할 수 있습니다. 컬럼 이름을 바꾸려면 "@account_id"처럼 @ 뒤에 다른 이름을 지정합니다. Medoo는 이 마커를 현재 데이터베이스 유형에 알맞은 정의로 변환합니다.
$database->create("account", [
	"@id",
	"email" => [
		"VARCHAR(255)",
		"NOT NULL"
	]
]);
데이터베이스 @id에서 생성되는 정의
MySQL / MariaDB id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY
PostgreSQL id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY
SQLite id INTEGER PRIMARY KEY AUTOINCREMENT
MSSQL id BIGINT IDENTITY(1,1) PRIMARY KEY
Oracle id NUMBER(19) GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY
Sybase id BIGINT IDENTITY PRIMARY KEY

Identity 마커는 하나만 사용할 수 있습니다. 같은 컬럼을 일반 컬럼 정의로 중복 선언할 수 없습니다.

고급 예제

추가 옵션이 필요할 때는 컬럼 정의에 Raw 문자열을 직접 전달할 수도 있습니다. <column_name> 구문은 식별자를 간단히 인용하기 위한 축약 표기입니다.
$database->create("account", [
	"id" => [
		"INT",
		"NOT NULL",
		"AUTO_INCREMENT"
	],
	"email" => [
		"VARCHAR(70)",
		"NOT NULL",
		"UNIQUE"
	],
	"PRIMARY KEY (<id>)"
], [
	"ENGINE" => "MyISAM",
	"AUTO_INCREMENT" => 200
]);
CREATE TABLE IF NOT EXISTS account (
	id INT NOT NULL AUTO_INCREMENT,
	email VARCHAR(70) NOT NULL UNIQUE,
	PRIMARY KEY (`id`)
)
ENGINE = MyISAM,
AUTO_INCREMENT = 200