把id主鍵默認約束0改為 自動編號 怎么寫語句?
老師在users2表里的添加 id為主鍵? 但是沒有添加自動編號
然后我現在 id的主鍵? 有一個默認約束為0
show create table users2;
?`id` smallint(5) unsigned NOT NULL DEFAULT '0',? ←現在是這樣的
? PRIMARY KEY (`id`)
我就是想 把id主鍵的? 默認約束0 ?? 修改為 自動編號 要怎么操作呢?
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,?? ←我要改成這樣
2016-08-23
可以使用字段修改語句如下:
ALTER TABLE users2 CHANGE id id SMALLINT UNSIGNED NOT NULL PRIMARY KEY ?AUTO_INCREMENT;
這個語句相當于修改了重寫了原id字段。不過我懷疑3-6節還沒有講到這個語句,或許可以看下MODIFY...SET..添加約束是否可行,我有點忘記了。
另外`id` smallint(5) unsigned NOT NULL DEFAULT '0' 應該是DEFAULT 0 吧,畢竟id是int型的。
2017-09-02
有幾個給主鍵設置默認的,暈
2016-08-23
我的大神已經私聊回答我了? 我把他貼上來
我針對你的問題我提幾個東西:
1、0是默認值,不是默認約束,PRIMARY KEY (`id`) 這個才叫約束,是主鍵約束,表示這條記錄在這張表里是唯一的。
2、主鍵Id不建議用smallint,因為你要用自動增長列,smallint的范圍太小了,建議用int或者bigInt
3、如果你的表建好了,修改字段的語句用 ALTER
alter table `users` modify column `id` bigInt(11) unsigned NOT NULL AUTO_INCREMENT