命令语法如下
成都创新互联公司是一家专业的成都网站建设公司,我们专注成都网站建设、成都网站制作、网络营销、企业网站建设,卖链接,一元广告为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。
create table 表名(列名称 数据类型 default 默认值);
2
如果图形化界面操作,如phpmyadmin的话,一般直接默认值就可以设置选择呢
END
修改数据库表的列默认值
命令行界面
若本身存在默认值,则先删除
alter table表名alter column字段名drop default;
然后设置默认值(若本身不存在则可以直接设定)
alter table表名 alter column字段名 set default默认值;
再次返回表的结构视图,你会发现如下图。刚刚设置的默认值已经更新为“百度经验”了
图形界面操作修改
图形界面操作设置就非常简单了,直接编辑表的结构点击需要修改的列即可。
如下图打开找到默认值一般都有无,和自定义等选项
mysql如何设置默认值
mysql设置默认值的方法:用mysql建数据表设置默认值,代码为【stuSex varchar(2) default '男' check(stuSex in('男', '女'))】。
mysql设置默认值的方法:
create table stu(
stuId varchar(30) primary key,
stuName varchar(50) not null,
stuSex varchar(2) default '男' check(stuSex in('男', '女')),
stuJg varchar(30),
stuDept varchar(40)
)
用mysql建数据表设置默认值:
int 类型:default 1; (直接加数值)
varchar类型:default 'aaa'(用单引号)
另:经试验,在mysql中default 要写在 check之前,否则报错
MySQL的设置可以分为两类:创建对象时的默认值、在服务器和客户端通信时的设置。创建对象时的默认值MySQL服务器有默认的字符集和校验规则,数据库和每个数据表也有自己的默认值。
-- 方法一:
由于MySQL目前字段的默认值不支持函数,所以以create_time datetime default now() 的形式设置默认值是不可能的。代替的方案是使用TIMESTAMP类型代替DATETIME类型。
TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果有多个TIMESTAMP列,只有第一个自动更新。
自动更新第一个TIMESTAMP列在下列任何条件下发生:
1.列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。
2.列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)
3.你明确地设定TIMESTAMP列为NULL.
4.除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。
所以把日期类型 选择成timestamp 允许空就可以了
CREATE TABLE test (
uname varchar(50) NOT NULL,
updatetime timestamp NULL DEFAULTCURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
如果要在navicat下操作的话,将字段设置为timestamp,然后默认值写上CURRENT_TIMESTAMP即可
在sqlserver2000中可以这样
create table test(name varchar(10),registerTime datetime default getdate());
设置默认值。但在MySQ中
create table test(name varchar(10),registerTime datetime default now());
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp
onds to your MySQL server version for the right syntax to use near 'now()
)' at line 2
如何在MySQL中设置datetime型的当前默认值? [Re: jingang] Copy to clipboard
Posted by: wanghb507
Posted on: 2004-03-02 10:25
我看只能,在程序上处理了,因为在
insert into test values('name', now());
中是正确的
如何在MySQL中设置datetime型的当前默认值? [Re: jingang] Copy to clipboard
Posted by: NcitZhang
Posted on: 2004-03-28 18:10
create table test(name varchar(10),registerTime datetime default getdate());
create table test(name varchar(10),registerTime datetime default '0000-00-00');
MySQL目前不支持列的Default 为函数的形式,如达到
你某列的默认值为当前更新日期与时间的功能,你可以使用TIMESTAMP列类型下面就
详细说明TIMESTAMP列类型
| TIMESTAMP(14) | YYYYMMDDHHMMSS |
| TIMESTAMP(12) | YYMMDDHHMMSS |
| TIMESTAMP(10) | YYMMDDHHMM |
| TIMESTAMP(8) | YYYYMMDD |
| TIMESTAMP(6) | YYMMDD |
| TIMESTAMP(4) | YYMM |
| TIMESTAMP(2) | YY |
看你需要哪种时间的格式, 在插入数据的时候,给时间的字段设置成NULL就会自动变成当前时间。给你举个例子:
CREATE TABLE test (
'id' INT (3) UNSIGNED AUTO_INCREMENT,
'date1' TIMESTAMP (8),
PRIMARY KEY('id')
);
INSERT INTO test (id, date1) VALUES (1, NULL);
id date
1 20160429