急!急!急!
  I在IBConsole里用Interactive SQL工具创建员工个人信息表,但怎样都不能通过编释,提示错误:
Dynamic SQL Error
SQL error code = -842
Short integer expected ...
请各位Proficient看一下下面代码哪儿出错了?谢了!
/* Table:Person,Owner:MyMISDBA */
create table Person (
  ID char(6) not null,
  PassWD char(20) not null,
  Authority char(1) default'0',
  Name varchar(10),
  Sex char(1) defualt 'M' not null,
  Birthday timestamp,
  Department char(3),
  Job char(3),
  Edu_Level char(1),
  Specialty varchar(20),
  Address varchar(50),
  Tel varchar(20),
  Email varchar(50),
  State char(1) default 'T',
  Re varchar(40000),
constraint Person_ID primary key(ID));

解决方案 »

  1.   

    Authority char(1) default'0'这一句中'0'前面有空格吗?
    Sex char(1) defualt 'M' not null这句default写错了。
    以上应该是你的手误吧?下面说说你出错的原因:
    Re varchar(40000)这一句中varchar的长度太大了。ib中char的最大长度为32k-1,即32767字节,而varchar的最大长度是32k-3,即32765字节。你把varchar(40000)的长度改小一点就可以通过了,比如改成varchar(4000)。
    不过,建议你不要使用这种长字符串,这样会极大的影响数据在网络中的传输效率。在处理长字符数据的时候最好能用blob sub_type text。