mysql - 更改整数列的默认值

标签 mysql database alter-table

我创建了一个具有以下架构的表

CREATE TABLE `userdetails` (
`uid` int(5) NOT NULL DEFAULT '0',
`userName` varchar(30) DEFAULT NULL,
`pwd` varchar(30) DEFAULT NULL,
 PRIMARY KEY (`uid`),
 KEY `userName` (`userName`),
 CONSTRAINT `userdetails_ibfk_1` FOREIGN KEY (`userName`) REFERENCES `user`     (`uname`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1

现在我想删除 uid 列的默认值。

我该怎么做?

最佳答案

您可以更改您的表格

ALTER TABLE `userdetails` CHANGE `uid` `uid` INT(5) NOT NULL; 

DEMO

如果将其定义为 AUTO_INCRMENT 则效果更好,这样每一行都会有一个唯一的编号。

ALTER TABLE `userdetails` CHANGE `uid` `uid` INT(5) NOT NULL AUTO_INCREMENT; 

关于mysql - 更改整数列的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29896116/

相关文章:

php SQL 语句不起作用,但是当我尝试在 DBMS 中使用语句时,它们确实起作用

mysql - SQL:在 Assets 列表中查找不同的帐户

django - Django ORM 中的 SQL 何时执行

php - 如何使脚本从 MYSQL 数据库中检索特定数据?

mysql - mysql在添加具有默认值的新列时是否锁定表以进行写入

php - 将数据库复制到新数据库中,包括结构和数据

php - 根据服务器时区动态打印时间

mysql - 如何将数据从现有的远程数据库(MySQL)复制到另一个具有不同模式的本地 MySQL 数据库?

sql - 更改表添加具有默认值和 FK 的列,该值在 FK 引用数据中不存在

postgresql - alter table add column default 并对每一行执行default