create.php

来自「太烦了」· PHP 代码 · 共 433 行

PHP
433
字号
<?php$tests = array(array('sql' => 'CREATE TABLE albums (  name varchar(60),  directory varchar(60),  rating enum (1,2,3,4,5,6,7,8,9,10) NOT NULL,  category set(\'sexy\',\'\\\'family time\\\'\',"outdoors",\'generic\',\'very weird\') NULL,  description text NULL,  id int default 200 PRIMARY KEY)','expect' => array(        'command' => 'create_table',        'table_names' => array(            0 => 'albums'            ),        'column_defs' => array(            'name' => array(                'type' => 'varchar',                'length' => 60                ),            'directory' => array(                'type' => 'varchar',                'length' => 60                ),            'rating' => array(                'type' => 'enum',                'domain' => array(                    0 => 1,                    1 => 2,                    2 => 3,                    3 => 4,                    4 => 5,                    5 => 6,                    6 => 7,                    7 => 8,                    8 => 9,                    9 => 10                    ),                'constraints' => array(                    0 => array(                        'type' => 'not_null',                        'value' => true                        )                    )                ),            'category' => array(                'type' => 'set',                'domain' => array(                    0 => 'sexy',                    1 => '\'family time\'',                    2 => 'outdoors',                    3 => 'generic',                    4 => 'very weird'                    )                ),            'description' => array(                'type' => 'text'                ),            'id' => array(                'type' => 'int',                'constraints' => array(                    0 => array(                        'type' => 'default_value',                        'value' => 200                        ),                    1 => array(                        'type' => 'primary_key',                        'value' => true                        )                    )                )            )        )),array('sql' => 'CREATE TABLE photos (  filename varchar(60) not NULL,  name varchar(60) default "no name",  album int,  price float (4,2),  description text default \'hello\',  id int default 0 primary key not null,)','expect' => array(        'command' => 'create_table',        'table_names' => array(            0 => 'photos'            ),        'column_defs' => array(            'filename' => array(                'type' => 'varchar',                'length' => 60,                'constraints' => array(                    0 => array(                        'type' => 'not_null',                        'value' => true                        )                    )                ),            'name' => array(                'type' => 'varchar',                'length' => 60,                'constraints' => array(                    0 => array(                        'type' => 'default_value',                        'value' => 'no name'                        )                    )                ),            'album' => array(                'type' => 'int'                ),            'price' => array(                'type' => 'float',                'length' => 4                ),            'description' => array(                'type' => 'text',                'constraints' => array(                    0 => array(                        'type' => 'default_value',                        'value' => 'hello'                        )                    )                ),            'id' => array(                'type' => 'int',                'constraints' => array(                    0 => array(                        'type' => 'default_value',                        'value' => 0                        ),                    1 => array(                        'type' => 'primary_key',                        'value' => true                        ),                    2 => array(                        'type' => 'not_null',                        'value' => true                        )                    )                )            )        )),array('sql' => 'create table brent (    filename varchar(10),    description varchar(20),)','expect' => array(        'command' => 'create_table',        'table_names' => array(            0 => 'brent'            ),        'column_defs' => array(            'filename' => array(                'type' => 'varchar',                'length' => 10                ),            'description' => array(                'type' => 'varchar',                'length' => 20                )            )        )),array('sql' => 'CREATE TABLE films (              code      CHARACTER(5) CONSTRAINT firstkey PRIMARY KEY,              title     CHARACTER VARYING(40) NOT NULL,              did       DECIMAL(3) NOT NULL,              date_prod DATE,              kind      CHAR(10),              len       INTERVAL HOUR TO MINUTE             CONSTRAINT production UNIQUE(date_prod))','expect' => array(        'command' => 'create_table',        'table_names' => array(            0 => 'films'            ),        'column_defs' => array(            'code' => array(                'type' => 'char',                'length' => 5,                'constraints' => array(                    'firstkey' => array(                        'type' => 'primary_key',                        'value' => true                        )                    )                ),            'title' => array(                'type' => 'char',                'length' => 40,                'constraints' => array(                    0 => array(                        'type' => 'not_null',                        'value' => true                        )                    )                ),            'did' => array(                'type' => 'numeric',                'length' => 3,                'constraints' => array(                    0 => array(                        'type' => 'not_null',                        'value' => true                        )                    )                ),            'date_prod' => array(                'type' => 'date'                ),            'kind' => array(                'type' => 'char',                'length' => 10                ),            'len' => array(                'type' => 'interval',                'constraints' => array(                    0 => array(                        'quantum_1' => 'hour',                        'quantum_2' => 'minute',                        'type' => 'values'                        ),                    'production' => array(                        'type' => 'unique',                        'column_names' => array(                            0 => 'date_prod'                            )                        )                    )                )            )        )),array('sql' => 'CREATE TABLE films (              code      CHARACTER(5) CONSTRAINT firstkey PRIMARY KEY,              title     CHARACTER VARYING(40) NOT NULL,              did       DECIMAL(3) NOT NULL,              date_prod DATE,              kind      CHAR(10),              len       INTERVAL minute to hour             CONSTRAINT production UNIQUE(date_prod))','expect' => 'Parse error: hour is not smaller than minute on line 7             len       INTERVAL minute to hour                                          ^ found: "hour"'),array('sql' => 'CREATE TABLE distributors (              did      DECIMAL(3) PRIMARY KEY DEFAULT NEXTVAL(\'serial\'),              name     VARCHAR(40) NOT NULL CHECK (name <> \'\')              CONSTRAINT con1 CHECK (did > 100 AND name > \'\') )','expect' => array(        'command' => 'create_table',        'table_names' => array(            0 => 'distributors'            ),        'column_defs' => array(            'did' => array(                'type' => 'numeric',                'length' => 3,                'constraints' => array(                    0 => array(                        'type' => 'primary_key',                        'value' => true                        ),                    1 => array(                        'name' => 'nextval',                        'arg' => 'serial',                        'type' => 'default_function'                        )                    )                ),            'name' => array(                'type' => 'varchar',                'length' => 40,                'constraints' => array(                    0 => array(                        'type' => 'not_null',                        'value' => true                        ),                    1 => array(                        'arg_1' => array(                            'value' => 'name',                            'type' => 'ident'                            ),                        'op' => '<>',                        'arg_2' => array(                            'value' => '',                            'type' => 'text_val'                            ),                        'type' => 'check'                        ),                    'con1' => array(                        'arg_1' => array(                            'arg_1' => array(                                'value' => 'did',                                'type' => 'ident'                                ),                            'op' => '>',                            'arg_2' => array(                                'value' => 100,                                'type' => 'int_val'                                )                            ),                        'op' => 'and',                        'arg_2' => array(                            'arg_1' => array(                                'value' => 'name',                                'type' => 'ident'                                ),                            'op' => '>',                            'arg_2' => array(                                'value' => '',                                'type' => 'text_val'                                )                            ),                        'type' => 'check'                        )                    )                )            )        )),array('sql' => 'CREATE TABLE distributors (             did      DECIMAL(3) PRIMARY KEY,             name     VARCHAR(40) )','expect' => array(        'command' => 'create_table',        'table_names' => array(            0 => 'distributors'            ),        'column_defs' => array(            'did' => array(                'type' => 'numeric',                'length' => 3,                'constraints' => array(                    0 => array(                        'type' => 'primary_key',                        'value' => true                        )                    )                ),            'name' => array(                'type' => 'varchar',                'length' => 40                )            )        )),array('sql' => 'CREATE TABLE msgs ( user_id integer, msg_id integer, msg_text varchar, msg_title varchar(30), msg_date time)','expect' => array(        'command' => 'create_table',        'table_names' => array(            0 => 'msgs'            ),        'column_defs' => array(            'user_id' => array(                'type' => 'int'                ),            'msg_id' => array(                'type' => 'int'                ),            'msg_text' => array(                'type' => 'varchar'                ),            'msg_title' => array(                'type' => 'varchar',                'length' => 30                ),            'msg_date' => array(                'type' => 'time'                )            )        )),array('sql' => 'create table nodefinitions','expect' => 'Parse error: Expected ( on line 1create table nodefinitions                           ^ found: "*end of input*"'),array('sql' => 'create dogfood','expect' => 'Parse error: Unknown object to create on line 1create dogfood       ^ found: "dogfood"'),array('sql' => 'create table dunce (name varchar','expect' => 'Parse error: Expected ) on line 1create table dunce (name varchar                                 ^ found: "*end of input*"'),array('sql' => 'create table dunce (name varchar(2,3))','expect' => 'Parse error: Expected 1 parameter on line 1create table dunce (name varchar(2,3))                                    ^ found: ")"'),array('sql' => 'create table dunce (enum)','expect' => 'Parse error: Expected identifier on line 1create table dunce (enum)                    ^ found: "enum"'),array('sql' => 'create table dunce (enum(23))','expect' => 'Parse error: Expected identifier on line 1create table dunce (enum(23))                    ^ found: "enum"'),);?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?