VI Tiếng Việt
Phiên bản: v2.6.0

create

Tạo một bảng mới.

create($table, $columns, $options)
Giá trị trả về
[PDOStatement] Đối tượng PDOStatement của truy vấn đã thực thi.

Mẫu cơ bản

Hãy khai báo từng cột dưới dạng một mảng. Medoo sẽ ghép các phần đó thành định nghĩa cột hoàn chỉnh.
$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
)

Cột định danh

Thêm "@id" làm một phần tử trong danh sách để định nghĩa khóa chính kiểu số nguyên được tạo tự động với tên id. Dùng tên khác sau @, chẳng hạn "@account_id", để tùy chỉnh tên cột. Medoo sẽ chuyển dấu này thành định nghĩa phù hợp với loại cơ sở dữ liệu hiện tại.
$database->create("account", [
	"@id",
	"email" => [
		"VARCHAR(255)",
		"NOT NULL"
	]
]);
Cơ sở dữ liệu Định nghĩa được tạo cho @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

Chỉ được phép có một dấu định danh. Không được đồng thời khai báo cùng cột đó bằng một định nghĩa cột thông thường.

Nâng cao

Bạn cũng có thể truyền chuỗi Raw để bổ sung thêm tùy chọn trong phần định nghĩa cột. Cú pháp <column_name> là lối viết tắt để bao định danh.
$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