Mysql 和 ORacle 创建表的区别 ???

解决方案 »

  1.   

    CREATE TABLE dnslog(
        dnslog_id    INT    NOT NULL,  
        dnslog_ip    INT    NOT NULL,
        PRIMARY KEY (dnslog_id)
    )ENGINE=MYISAM
    ;
    CREATE TABLE gather_dns(
        dns_id           INT         NOT NULL,
        view_id          INT         NOT NULL,
        dns_ip           INT,
        insert_ts        DATETIME,
        usable_flag      BIT(1),
        usable_count     INT,
        disable_count    INT,
        forward_flag     BIT(1),
        PRIMARY KEY (dns_id)
    )ENGINE=MYISAM
    ;
    CREATE TABLE view(
        view_id      INT         NOT NULL,
        view_name    CHAR(10),
        PRIMARY KEY (view_id)
    )ENGINE=MYISAM
    ;
    ALTER TABLE gather_dns ADD CONSTRAINT Refview1 
        FOREIGN KEY (view_id)
        REFERENCES view(view_id)
    ;
    ALTER TABLE mdig_dns ADD CONSTRAINT Refview2 
        FOREIGN KEY (view_id)
        REFERENCES view(view_id)
    ;把这个表改成oracle的 需要注意哪些?
      

  2.   

    --1.去掉ENGINE=MYISAM
    --2.oracle没有BIT类型,修改为VARCHAR2(1)或char(1)
    --3.oracle没有DATETIME类型,修改为DATE类型
    --4.view为oracle关键字,不能用作表名称CREATE TABLE dnslog(
      dnslog_id INT NOT NULL,  
      dnslog_ip INT NOT NULL,
      PRIMARY KEY (dnslog_id)
    );CREATE TABLE gather_dns(
      dns_id INT NOT NULL,
      view_id INT NOT NULL,
      dns_ip INT,
      insert_ts DATE,
      usable_flag VARCHAR2(1),
      usable_count INT,
      disable_count INT,
      forward_flag VARCHAR2(1),
      PRIMARY KEY (dns_id)
    );CREATE TABLE T_view(
      view_id INT NOT NULL,
      view_name CHAR(10),
      PRIMARY KEY (view_id)
    );ALTER TABLE gather_dns ADD CONSTRAINT Refview1 
      FOREIGN KEY (view_id)
      REFERENCES T_view(view_id);ALTER TABLE mdig_dns ADD CONSTRAINT Refview2 
      FOREIGN KEY (view_id)
      REFERENCES T_view(view_id);
      

  3.   

    create table,修改表,请参考:

    oracle alter table 详解

    mysql 建表,参考:

    MySQL Create Table语句的应用与语法
      

  4.   

    mysql还需要指定引擎。  还有 mysql的字段类型似乎比oracle多。
      

  5.   

    外键关系不必替换。  int 最好改为 number