MariaDB社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4621|回复: 8
打印 上一主题 下一主题

快来帮忙哦,这个sqlserver下的语句怎么转换成mysq啊?

[复制链接]
跳转到指定楼层
1#
发表于 2010-9-14 19:21:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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
        )
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
2#
 楼主| 发表于 2010-9-15 12:06:41 | 只看该作者
3#
发表于 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
4#
 楼主| 发表于 2010-9-15 20:19:30 | 只看该作者
回复 kider 的帖子

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

8#
 楼主| 发表于 2010-9-20 13:31:00 | 只看该作者
回复 kider 的帖子

嗯!
可是这句话怎么改。
payMode varchar(20) check (payMode in('货到付款','支付宝付款')) default '货到付款',
9#
发表于 2010-9-21 10:04:39 | 只看该作者
可以使用 enum 类型 或 set 类型
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|MariaDB社区 ( 京ICP备07012489号    |
业务联系: QQ:48474881; 邮箱: 48474881@qq.com; 电话:13911732319
声明:本站部分文章是网友转载,若未经作者同意或署名有误,请联系网站管理员。

GMT+8, 2024-9-20 05:45 , Processed in 0.076270 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表