如何在PHP和Oracle中创建表

时间:2014-05-30 09:20:47

标签: php oracle

我正在尝试在PHP和Oracle中创建表

 $create_table =" CREATE TABLE email_valid(
                                         eid int(11)   NOT NULL,
                                          email varchar2(255) NOT NULL UNIQUE,
                                           password varchar2(255) NOT NULL,
                                            activation varchar2(255) NOT NULL UNIQUE,
                                             status enum('0','1') NOT NULL DEFAULT '0',
                                              PRIMARY KEY (eid))";

$stid=oci_parse($conn,$create_table);
oci_execute($stid) or die(oci_error());

但是发生了错误:

Warning: oci_execute() [function.oci-execute]: ORA-00907: missing right parenthesis in C:\PORTAL\xampp\htdocs\email\create.php on line 15

我找不到错误的位置?请帮帮我。

1 个答案:

答案 0 :(得分:1)

  • Oracle没有INT(11)大小的类型,如果您想使用大小,则需要使用NUMERIC
  • Oracle没有ENUM,但在这种情况下,您可以使用带有CHECK约束的简单char;

-

CREATE TABLE email_valid( 
  eid numeric(11)   NOT NULL,
  email varchar2(255) NOT NULL UNIQUE,
  password varchar2(255) NOT NULL,
  activation varchar2(255) NOT NULL UNIQUE,
  stats char(1) DEFAULT '0' NOT NULL CHECK (stats IN ('0','1')),
  PRIMARY KEY (eid)
)

A simple SQLfiddle test