• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL表字段设置默认值(图文教程及注意细节)_MySQL

mysql 搞代码 4年前 (2022-01-09) 41次浏览 已收录 0个评论

gaodaima.com环境
MySQL 5.1 + 命令行工具
问题
MySQL表字段设置默认值
解决

–SQL:
CREATE TABLE test(
i_a int NOT NULL DEFAULT 1,
ts_b timestamp NOT NULL DEFAULT NOW(),
c_c char(2) NOT NULL DEFAULT ‘1’
);
–以下SQL不合法
–time_d time NOT NULL DEFAULT CURTIME(),
–date_e date NOT NULL DEFAULT CURDATE(),
–datetime_f datetime NOT NULL DEFAULT NOW(),


总结
int类型:默认值也得是整型,并且default后边不要()括号。
char类型:默认值使用单引号。

DATETIME类型:NOW()函数以’YYYY-MM-DD HH:MM:SS’返回当前的日期时间,可以直接存到DATETIME字段中。不支持使用系统默认值。

DATE类型:CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。不支持使用系统默认值。

TIME类型:CURTIME()以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。不支持使用系统默认值。
参考资料
mysql表字段默认值
用sql语句创建表时,给表字段默认值出错。
比如:mssql中

CREATE TABLE dnt_forums(
aa int NOT NULL DEFAULT (”),
bb date NOT NULL DEFAULT (getdate()),
cc char(50) NOT NULL DEFAULT (null)
}

请问上述的sql语句要如何修改在mysql中才能使用

aa 是 int 类型,默认值也得是整型,并且default后边不要()括号
bb date类型不支持使用系统默认值,改成timestamp,能过now()取系统时间
cc 已经不允许为空(not null)所以不能默认为 null ,可以改成空字符串

CREATE TABLE dnt_forums(
aa int NOT NULL DEFAULT 2,
bb timestamp NOT NULL DEFAULT now(),
cc char(50) NOT NULL DEFAULT ”
);

MySQL获取系统当前时本文来源[email protected]搞@^&代*@码)网5间的函数
http://www.gaodaima.com/article/29124.htmgaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL表字段设置默认值(图文教程及注意细节)_MySQL
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址