我试过mysql,它允许你的语句,但是你可以设置一个默认值,然后删除它。
select version();
| version() |
| :-------- |
| 8.0.13 |
create table table1 (id int auto_increment primary key);
â
insert into table1(id) values (NULL),(NULL),(NULL),(NULL)
艾斯
ALTER TABLE table1 ADD date_id VARCHAR(50) default '';
艾斯
UPDATE table1 SET date_id = CONCAT_WS('-',date_format(CURDATE(),'%Y%m%d'),id);
艾斯
select * from table1
id | date_id
-: | :---------
1 | 20190111-1
2 | 20190111-2
3 | 20190111-3
4 | 20190111-4
show create table table1
Table | Create Table
:----- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
table1 | CREATE TABLE `table1` (<br> `id` int(11) NOT NULL AUTO_INCREMENT,<br> `date_id` varchar(50) DEFAULT '',<br> PRIMARY KEY (`id`)<br>) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
alter table table1 alter column date_id DROP DEFAULT, ALGORITHM=INPLACE, LOCK=NONE;
艾斯
show create table table1;
Table | Create Table
:----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
table1 | CREATE TABLE `table1` (<br> `id` int(11) NOT NULL AUTO_INCREMENT,<br> `date_id` varchar(50),<br> PRIMARY KEY (`id`)<br>) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
DB<gt;小提琴
here