MariaDB社区

标题: 快来帮忙哦,这个sqlserver下的语句怎么转换成mysq啊? [打印本页]

作者: shaninxueye    时间: 2010-9-14 19:21
标题: 快来帮忙哦,这个sqlserver下的语句怎么转换成mysq啊?
create table orders(
        ordersId bigint primary key identity(1,1),
        userId   bigint constraint fk_client_id references users(userid),
        orderDate datetime default getdate(),
        payMode varchar(20)check (payMode in('货到付款','支付宝付款')) default '货到付款',
        isPayed bit check  ( isPayed in (0 ,1)),
        totalPrice float not null
        )
作者: shaninxueye    时间: 2010-9-15 12:06

作者: kider    时间: 2010-9-15 15:44
转换有几个规则供你参考:
1、identity(1,1), --> autoincrement  | last_insert_id()
2、外键查找mysql语法
3、getdate() --> now()
4、bit --> bit |tinyint
5、枚举用ENUM和SET
6、float可通用,但浮点精确计算要用decimal
作者: shaninxueye    时间: 2010-9-15 20:19
回复 kider 的帖子

还是没搞明白额,老是出错啊,麻烦这位大侠写一遍啊。
作者: shaninxueye    时间: 2010-9-15 20:30
orderDate datetime default getdate(),
仅仅把getdate()改成now()不行啊
ERROR 1067 (42000): Invalid default value for 'orderDate'
作者: shaninxueye    时间: 2010-9-15 20:37
就这两行有错误。
orderDate datetime default now(),
payMode varchar(20) check (payMode in('货到付款','支付宝付款')) default '货到付款',
怎么该呀
作者: kider    时间: 2010-9-16 09:37
你需要把这里的datetime改成timestamp,来达到你的自动更新成当前时间。


作者: shaninxueye    时间: 2010-9-20 13:31
回复 kider 的帖子

嗯!
可是这句话怎么改。
payMode varchar(20) check (payMode in('货到付款','支付宝付款')) default '货到付款',

作者: kider    时间: 2010-9-21 10:04
可以使用 enum 类型 或 set 类型




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2