创建表时mysql中的1064语法错误

时间:2012-11-02 04:04:51

标签: mysql syntax-error create-table

drop table member cascade constraints;
create table member (
    mid varchar2(10) not null,
    email varchar2(40) not null,
    fname varchar2(20) not null,
    lname varchar2(20) not null,
    street varchar2(50) not null,
    city varchar2(30) not null,
    state varchar2(20) not null,
    zip number(5) not null,
    phone varchar2(12),
    password varchar2(20),
    primary key (mid)
);

1 个答案:

答案 0 :(得分:5)

好吧,从Oracle剪切和粘贴并不总是很好;

VARCHAR2在MySQL中不作为数据类型存在 NUMBER也没有 CASCADE CONSTRAINTS似乎不能作为DROP TABLE的修饰符。

作为CASCADE CONSTRAINTS的替代,您可以使用DROP TABLE IF EXISTS a,b,c删除包含一个语句的多个表。虽然不尽相同,但它一样好。

你想要的东西可能是这样的;

drop table if exists member;

create table member (
  mid varchar(10) not null,
  email varchar(40) not null,
  fname varchar(20) not null,
  lname varchar(20) not null,
  street varchar(50) not null,
  city varchar(30) not null,
  state varchar(20) not null,
  zip numeric(5) not null,
  phone varchar(12),
  password varchar(20),
  primary key (mid)
);

SQLfiddle here