快来帮忙哦,这个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
) :o 转换有几个规则供你参考:
1、identity(1,1), --> autoincrement| last_insert_id()
2、外键查找mysql语法
3、getdate() --> now()
4、bit --> bit |tinyint
5、枚举用ENUM和SET
6、float可通用,但浮点精确计算要用decimal 回复 kider 的帖子
还是没搞明白额,老是出错啊,麻烦这位大侠写一遍啊。:handshake orderDate datetime default getdate(),
仅仅把getdate()改成now()不行啊
ERROR 1067 (42000): Invalid default value for 'orderDate' 就这两行有错误。
orderDate datetime default now(),
payMode varchar(20) check (payMode in('货到付款','支付宝付款')) default '货到付款',
怎么该呀 你需要把这里的datetime改成timestamp,来达到你的自动更新成当前时间。
回复 kider 的帖子
嗯!可是这句话怎么改。payMode varchar(20) check (payMode in('货到付款','支付宝付款')) default '货到付款',
可以使用 enum 类型 或 set 类型
页:
[1]