shaninxueye 发表于 2010-9-14 19:21:47

快来帮忙哦,这个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:41

:o

kider 发表于 2010-9-15 15:44:30

转换有几个规则供你参考:
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:30

回复 kider 的帖子

还是没搞明白额,老是出错啊,麻烦这位大侠写一遍啊。:handshake

shaninxueye 发表于 2010-9-15 20:30:59

orderDate datetime default getdate(),
仅仅把getdate()改成now()不行啊
ERROR 1067 (42000): Invalid default value for 'orderDate'

shaninxueye 发表于 2010-9-15 20:37:15

就这两行有错误。
orderDate datetime default now(),
payMode varchar(20) check (payMode in('货到付款','支付宝付款')) default '货到付款',
怎么该呀

kider 发表于 2010-9-16 09:37:41

你需要把这里的datetime改成timestamp,来达到你的自动更新成当前时间。

shaninxueye 发表于 2010-9-20 13:31:00

回复 kider 的帖子

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

kider 发表于 2010-9-21 10:04:39

可以使用 enum 类型 或 set 类型
页: [1]
查看完整版本: 快来帮忙哦,这个sqlserver下的语句怎么转换成mysq啊?