请问大虾,转数据库的问题,mssql->mysql
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Answer]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Answer]
GO
CREATE 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]
GO
ALTER TABLE [dbo].[Answer] ADD
CONSTRAINT [DF_Answer_PostDate] DEFAULT (getdate()) FOR [PostDate]
GO
我要将上面一段MSSQL语句转换成MySQL语句,在phpadmin里,执行不停的说语法错误,哪位大虾能帮我改一改?非常感谢。
疑问1:ID自动生成
疑问2:postdate取当前时间
不好意思,原来没接触过mysql,问的问题也比较菜。
问题点数:50、回复次数:4Top
1 楼mschen(Co-ok)回复于 2006-12-03 12:19:27 得分 50
--使用如下的脚本.测试通过.
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类型.
Top
2 楼CNLAN(风云)回复于 2006-12-03 14:22:11 得分 0
非常感谢,基本搞定了。不过时间我要的是datetime,我现在手工把now()加进去了。
二楼大哥,再帮我看看这个问题好不?不管解决没解决,今天就结贴
select * from abcdefg where Convert(varchar(10),QuestionDate,101)= Convert(varchar(20),getdate(),101)"
这是mssql的语句,意思是找出当天所有的记录。。。
但是mssql好像没有convert或者不是这样用的,反正提示语法错误。555,我已经把getdate()改成了now().
Top
3 楼mschen(Co-ok)回复于 2006-12-03 14:29:56 得分 0
select * from abcdefg
where date_format(QuestionDate,'%Y%m%d')=date_format(now(),'%Y%m%d');
Top
4 楼CNLAN(风云)回复于 2006-12-03 14:34:12 得分 0
哇,你冒出来真快,我现在用date(QuestionDate) = CurDate()不知道成不成,我连的远程数据库,里面还没数据,哈哈.
非常感谢,请问这个大哥,你有QQ吗?Top




