首页 > 试题广场 >

在last_update后面新增加一列名字为create_d

[编程题]在last_update后面新增加一列名字为create_d
  • 热度指数:118198 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
存在actor表,包含如下列信息:
CREATE TABLE  IF NOT EXISTS actor  (
    actor_id  smallint(5)  NOT NULL PRIMARY KEY,
    first_name  varchar(45) NOT NULL,
    last_name  varchar(45) NOT NULL,
    last_update  timestamp NOT NULL DEFAULT (datetime('now','localtime')));
现在在last_update后面新增加一列名字为create_date, 类型为datetime, NOT NULL,默认值为'2020-10-01 00:00:00'
示例1

输入

drop table if exists actor;
CREATE TABLE  actor  (
   actor_id  smallint(5)  NOT NULL PRIMARY KEY,
   first_name  varchar(45) NOT NULL,
   last_name  varchar(45) NOT NULL,
   last_update  datetime NOT NULL);

输出

1
ALTER TABLE 
    actor ADD create_date datetime NOT NULL DEFAULT '2020-10-01 00:00:00' 
    AFTER last_update

发表于 2021-10-18 23:59:33 回复(0)
ALTER TABLE actor ADD COLUMN
create_date datetime NOT NULL DEFAULT '2020-10-01 00:00:00' AFTER last_update;

-- 假如建在第一个 用first
ALTER TABLE actor ADD COLUMN
create_date datetime NOT NULL DEFAULT '2020-10-01 00:00:00' FIRST;
发表于 2021-07-19 16:50:43 回复(0)
ALTER TABLE employee ADD COLUMNS (
create_date datetime  NOT NULL  DEFAULT '2020-10-01 00:00:00');

发表于 2020-11-09 10:51:23 回复(1)
插入一行内容用Insert into 表名 (‘列标签(可省略)’)  VALUES(‘行内容’)
插入一列 用 alter table 表名 add(‘列的属性’)
发表于 2021-02-01 13:07:43 回复(0)
再last_uodate 之后
alter table actor add column create_date datetime not null default '2020-10-01 00:00:00' after last_update;
发表于 2021-03-12 16:48:32 回复(0)
alter table actor add create_date  datetime not null default'2020-10-01 00:00:00'
发表于 2020-11-08 20:58:32 回复(0)
MySQL中default后不需要加括号。

alter table actor
add
create_date datetime  NOT NULL DEFAULT '2020-10-01 00:00:00';

发表于 2021-01-25 11:35:58 回复(0)
alter table `actor` 
add column `create_date` datetime not null default '2020-10-01 00:00:00' 
after `last_update`;

发表于 2021-08-15 14:00:39 回复(0)
# 运行时间:34ms
# 超过85.45%用Mysql提交的代码
alter table actor
add column create_date datetime not null default '2020-10-01 00:00:00' after last_update;
发表于 2021-02-22 16:44:38 回复(1)
插入一行
insert into 【table_name】(字段1,字段2...)values (字段1,字段2....) ;
删除一行
delete from 表名 where 【字段】=字段值;
修改数据
update 表名 set 字段名=字段值 where (修改条件) 比如 id=1 修改数据;
改表名
rename 【table_name1】 to 【table_name2】;
新增列
alter table 【table_name】 add column 【列名】【 字符类型】;
删除列
alter table 【table_name】 drop column 列名;
改列名
alter table 【table_name】 rename column 【列名】 to 【新列名】;
发表于 2021-07-05 15:04:15 回复(0)
为什么你们默认值都是'2020-10-01 00:00:00',题目说的不是全0吗
发表于 2024-03-18 11:36:49 回复(2)
插入一行内容用Insert into 表名 (‘列标签(可省略)’)  VALUES(‘行内容’)
插入一列 用 alter table 表名 add(‘列的属性’)

alter table actor
add create_date datetime not null default '2020-10-01 00:00:00';

发表于 2021-06-07 15:28:13 回复(0)

解法

alter table actor add column 
create_date datetime not null default '2020-10-01 00:00:00'


发表于 2021-05-24 11:12:44 回复(0)
蒙对了可还行🤣
发表于 2021-03-27 14:18:06 回复(1)
ALTER TABLE actor ADD column create_date datetime NOT NULL  DEFAULT '2020-10-01 00:00:00' after last_update
发表于 2020-11-10 09:17:51 回复(0)
alter table actor
add create_date datetime NOT NULL default "2020-10-01 00:00:00";
alter table + 表名
add + 添加列名 + 列的格式要求
default 是定义默认值
发表于 2024-10-30 10:49:45 回复(0)

在标准的日期和时间表示中,0000-00-00 00:00:00 这样的格式并不被视为有效的日期和时间值。具体原因如下:

**1. 不符合日期格式规范

按照常见的日期格式(如 ISO 8601),年份通常至少包含四位数字,月份和日期至少包含一位数字(两位更常见,如 YYYY-MM-DD)。小时、分钟和秒也是如此。因此,0000 作为年份、00 作为月份或日期,以及 00:00:00 作为时间部分,都不符合正常的日期和时间表示规则。

**2. 不具备实际意义

0000 作为年份无法对应任何真实的历史时期,因为公历纪元起始于公元1年。同样,00 作为月份和日期也无法对应实际的日期,因为一个月至少有一天,一天至少有一个小时、一分钟和一秒。因此,0000-00-00 00:00:00 无法代表任何一个具体的时刻。

**3. 数据库处理限制

在许多数据库系统(如 MySQL)中,使用 0000-00-00 00:00:00 作为日期和时间值会引发错误或警告。这是因为数据库通常会对日期和时间类型的数据进行严格的格式检查和有效性验证。例如,MySQL 5.7及以上版本默认开启了严格模式,不允许插入0000-00-00 作为 DATE 或 DATETIME 类型的值,除非特意关闭了相关的SQL模式(如 NO_ZERO_DATE)。

尽管如此,某些数据库或应用程序出于特定目的(如数据初始化、占位符、兼容旧数据等)可能会暂时容忍或使用类似 0000-00-00 00:00:00 的值。但在标准的日期和时间处理以及数据交换中,这样的格式是不被接受的。在遇到这类格式时,通常需要将其视为无效数据或特殊标记进行特殊处理。在设计和使用数据库时,应遵循最佳实践,避免使用无效日期,并确保数据完整性约束和验证规则能够防止此类值的插入。

编辑于 2024-04-18 23:00:03 回复(0)
alter table actor add create_date datetime not null default '2020-10-01 00:00:00';
发表于 2022-04-16 15:50:23 回复(0)
ALTER TABLE actor
ADD COLUMN create_date datetime not null DEFAULT '2020-10-01 00:00:00' AFTER last_update;

在 last_name 之后
发表于 2021-11-06 09:05:27 回复(0)
为啥不用写after last_update???
发表于 2020-11-08 22:37:03 回复(2)