mysql,alter column删除主键并自动增加
技术问答
228 人阅读
|
0 人回复
|
2023-09-14
|
我正在将我的mysql db表从id(自动)更改为uid。1 J% `0 ~2 ?& U3 B7 Y) {1 u
ALTER TABLE companies DROP PRIMARY KEY;
+ c4 Q# \+ b, S3 `ALTER TABLE companies ADD PRIMARY KEY (`uuid`);. v k6 V G8 ?% [; }% J' F
这是我得到的错误。
" k; U Q( A& u7 f& ~[SQL] ALTER TABLE companies DROP PRIMARY KEY;
5 a! M$ ^" Z+ u. }5 O[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key: [# W1 e7 [6 i$ m6 V, Q/ ~# i
据我了解,我需要将ID更改为非自动增量,因为我将其作为主键了。更改列以删除主键和自动递增的语法是什么?
8 U% t. r) _0 N" J0 T. fALTER TABLE companies change id id ?????????? int(11)+ B7 P3 K* ~* g" r
2 ^: G; Q2 p# t$ `解决方案:, ^% t, x; c* w2 S' S
5 X6 @" L9 a+ ?+ s E# w/ D' d0 d
, X2 @# I6 a2 ?; l# Q& U; `
# s' d2 Y7 n( m' T0 @6 | 如果您需要id在单个SQL语句中从列中删除自动增量和主键,则应该这样做:
) O2 U8 ^" Z2 Q+ ?5 Z3 N& C. HALTER TABLE companies DROP PRIMARY KEY, CHANGE id id int(11);
, o- u9 _/ H* e0 c' V5 d实际上,您应该能够在单个ALTER TABLE查询中完成所有操作:/ @. g/ k$ j0 ~ Y
ALTER TABLE companies
/ j& V. K9 J* t% T! D& @& @DROP PRIMARY KEY,
O v P, }' K" y9 M( [% M) J9 gCHANGE id id int(11),
$ E: j$ c e) m0 w- IADD PRIMARY KEY (uuid); |
|
|
|
|
|