PT Português
Versão: v2.6.0

create

Criar uma nova tabela.

create($table, $columns, $options)
Valor de retorno
[PDOStatement] A instância PDOStatement da consulta executada.

Amostra Básica

Defina cada coluna como uma matriz. Medoo combinará as partes em uma definição de coluna completa.
$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
)

Coluna de identidade

Adicione "@id" como um item da lista para definir uma chave primária inteira gerada automaticamente com o nome id. Use outro nome após @, como "@account_id", para personalizar o nome da coluna. O Medoo traduz o marcador para a definição adequada ao tipo de banco de dados atual.
$database->create("account", [
	"@id",
	"email" => [
		"VARCHAR(255)",
		"NOT NULL"
	]
]);
Banco de dados Definição gerada para @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

Apenas um marcador de identidade é permitido. A mesma coluna não pode ser declarada também como uma definição de coluna comum.

Avançado

Você também pode passar strings brutas como definições de coluna para opções adicionais. A sintaxe <column_name> é suportada como um atalho para citações de identificadores.
$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