Phiên bản: v2.6.0
create
Tạo một bảng mới.
create($table, $columns, $options)
table [string]
Tên bảng cần tạo.
columns [array]
Các định nghĩa cột cho bảng mới.
options [array/string] (tùy chọn)
Các tùy chọn bổ sung để áp dụng khi tạo bảng.
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