怎么在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...
怎么在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 ''
);2016-10-21
mengvlog 阅读 8 次 更新于 2025-07-20 14:49:25 我来答关注问题0
  •  宜美生活妙招 mysqlworkbench设置为简体中文后无效,软件重启后恢复默

    原因:MySQL Workbench 官方并未提供完整的简体中文版,所见的中文字体配置仅针对界面中的部分文字显示,并非整体汉化。尝试使用第三方中文菜单翻译文件:操作:可以从 GitHub 上下载中文菜单翻译文件,解压 ZIP 文件后获取 main_menu.xml 文件。替换:将下载的 main_menu.xml 文件替换到 MySQL Workbench 安...

  • 为解决 MySQL Workbench 设置简体中文后无效的问题,我们首先需明确官方回应并无中文版。所见的中文字体配置仅针对界面中的文字显示,并非整体汉化。MySQL Workbench 只提供了部分菜单汉化,完整汉化版并不存在。可以尝试下载 GitHub 上的中文菜单翻译文件。操作步骤包括解压 ZIP 文件,获取 main_menu.xml 文件...

  • 1、连接到本机上的MYSQL。首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql> 2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用...

  • 在上面的示例中,我们使用了zerofill关键字来指定填充值。在这种情况下,如果整数宽度小于指定的宽度,则MySQL会使用零填充该值。下面是一个示例:INSERT INTO sample_table (name, age) VALUES (‘John’, 32);使用上述SQL语句将向表中插入一行数据。在这种情况下,我们没有提供一个id值。

  •  max的深林 如何对MySQL中的大表进行数据归档

    指定在文件中第一行写入字段名称作为标题。--ignore指定为INSERT语句添加IGNORE选项。--limit默认值:1指定每条语句获取表和归档表的行数。--local指定不将OPTIMIZE和ANALYZE语句写入binlog。--max-lag默认值:1s指定允许主从复制延迟时长的最大值,单位秒。如果在每次获取行数据之后主从延迟超过指定的值,则归档操作将...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部