数据库最初是在ACCESS中设计建立的,可是却需要导入到MYSQL中,我不知道该怎么做,就只好先导入SQLSERVER,然后在在SQLSERVER中生成数据库脚本,然后用这些脚本改一下直接写到MYSQL中。可是在MYSQL中建立了数据库以后我发现这个新建的数据库似乎表之间没有任何关系,原来在ACCESS中的关系在MYSQL中完全体现不出来。我现在就搞不清楚现在我导入MYSQL中的这个数据库到底能不能算原来ACCESS中的哪个了,表之间的关系在MYSQL中到底是怎么体现的?  下面是我从SQLSERVER中生成的部分脚本,那为高手帮帮忙,告诉我我现在按照这个脚本产生的MYSQL数据库到底能不能用。如果不能用我该怎么办。谢谢了(另外,我在MYSQL中已经写了部分存储过程,都是简单的插入和删除,测试都能用) CREATE TABLE CookingMethod(
 ID int unsigned NOT NULL auto_increment primary key,
 RestID int NULL ,
 CookMethod1 nvarchar(50) NULL ,
 CookMethod2 nvarchar(50) NULL 
) CREATE TABLE Dish (
 ID int NOT NULL auto_increment primary key,
 RestID int NULL ,
 DishName nvarchar (50)  NULL ,
 SecondName nvarchar (50)  NULL ,
 Category1 int NULL ,
 Category2 int NULL ,
 Category3 int NULL ,
 Category4 int NULL ,
 Unit nvarchar (50)  NULL ,
 Price double NULL ,
 Price2 double NULL ,
 CookingMethod int NULL ,
 Nutrition int NULL ,
 PhotoSmallID int NULL ,
 PhotoBigID int NULL ,
 UpdateDate datetime NULL ,
 Available enum('y','n') NOT NULL ,
 History nvarchar (50)  NULL ,
 Memo nvarchar (255)

解决方案 »

  1.   


    单纯从语法方面改了一下:
    CREATE   TABLE   CookingMethod( 
      ID   int   unsigned   NOT   NULL   auto_increment   primary   key, 
      RestID   int   NULL   , 
      CookMethod1   nvarchar(50)   NULL   , 
      CookMethod2   nvarchar(50)   NULL   
    );CREATE   TABLE   Dish   ( 
      ID   int   NOT   NULL   auto_increment   primary   key, 
      RestID   int   NULL   , 
      DishName   nvarchar   (50)     NULL   , 
      SecondName   nvarchar   (50)     NULL   , 
      Category1   int   NULL   , 
      Category2   int   NULL   , 
      Category3   int   NULL   , 
      Category4   int   NULL   , 
      Unit   nvarchar   (50)     NULL   , 
      Price   double   NULL   , 
      Price2   double   NULL   , 
      CookingMethod   int   NULL   , 
      Nutrition   int   NULL   , 
      PhotoSmallID   int   NULL   , 
      PhotoBigID   int   NULL   , 
      UpdateDate   datetime   NULL   , 
      Available   enum( 'y ', 'n ')   NOT   NULL   , 
      History   nvarchar   (50)     NULL   , 
      Memo   nvarchar   (255) 
    );
      

  2.   

    在MYSQL中如果碰到MSSQLde NVARCHAR会直接转化为VARCHAR类型。
      

  3.   

    SQLSERVER的DTS导入不支持表关系的导入,
    且存在不少问题,参考:
    http://blog.csdn.net/12rain/archive/2007/11/02/1863006.aspx
    下载工具试一下,支持从ACCESS到MYSQL的直接导入:
    http://dl2.csdn.net/down4/20071120/20135456362.rar