TH ไทย
เวอร์ชัน: 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 ได้เพียงหนึ่งรายการ และต้องไม่ประกาศคอลัมน์เดียวกันซ้ำเป็นคำนิยามคอลัมน์ปกติ

ขั้นสูง

คุณยังสามารถส่งสตริงดิบเป็นคำนิยามคอลัมน์สำหรับตัวเลือกเพิ่มเติมได้ ไวยากรณ์ <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