if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Answer]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Answer]
GOCREATE TABLE [dbo].[Answer] (
[AnswerID] [int] IDENTITY (1, 1) NOT NULL ,
[QuestionID] [int] NOT NULL ,
[AnswerUser] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[AnswerContent] [varchar] (4000) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PostDate] [datetime] NOT NULL 
) ON [PRIMARY]
GOALTER TABLE [dbo].[Answer] ADD 
CONSTRAINT [DF_Answer_PostDate] DEFAULT (getdate()) FOR [PostDate]
GO我要将上面一段MSSQL语句转换成MySQL语句,在phpadmin里,执行不停的说语法错误,哪位大虾能帮我改一改?非常感谢。疑问1:ID自动生成
疑问2:postdate取当前时间
不好意思,原来没接触过mysql,问的问题也比较菜。

解决方案 »

  1.   

    --使用如下的脚本.测试通过.
    DROP TABLE IF EXISTS Answer  ;CREATE TABLE Answer (
    AnswerID int Auto_Increment NOT NULL primary key ,
    QuestionID int NOT NULL ,
    AnswerUser varchar (50) COLLATE gbk_chinese_ci NOT NULL ,
    AnswerContent varchar (4000) COLLATE gbk_chinese_ci NOT NULL ,
    PostDate timestamp default current_timestamp
    )  ;
    --注意以下问题.
    1.Mysql的自增列使用auto_increment,并且必须是prmary key.
    2.字符的collate只有gbk_chinese_ci和gbk_bin
    3.默认值是当前时间的只能使用timestamp类型.
      

  2.   

    非常感谢,基本搞定了。不过时间我要的是datetime,我现在手工把now()加进去了。
    二楼大哥,再帮我看看这个问题好不?不管解决没解决,今天就结贴
    select * from abcdefg where Convert(varchar(10),QuestionDate,101)= Convert(varchar(20),getdate(),101)"
    这是mssql的语句,意思是找出当天所有的记录
    但是mssql好像没有convert或者不是这样用的,反正提示语法错误。555,我已经把getdate()改成了now().
      

  3.   

    select * from abcdefg 
    where date_format(QuestionDate,'%Y%m%d')=date_format(now(),'%Y%m%d');
      

  4.   

    哇,你冒出来真快,我现在用date(QuestionDate) = CurDate()不知道成不成,我连的远程数据库,里面还没数据,哈哈.
    非常感谢,请问这个大哥,你有QQ吗?