เวอร์ชัน: v2.6.0
create
สร้างตารางใหม่
create($table, $columns, $options)
table [string]
ชื่อตารางที่จะสร้าง
columns [array]
คำนิยามคอลัมน์สำหรับตารางใหม่
options [array/string] (ไม่บังคับ)
ตัวเลือกเพิ่มเติมที่จะใช้เมื่อสร้างตาราง
ค่าที่ส่งกลับ
[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