如何更改表的主键

use*_*288 1 mysql

我想更改表的主键,最初是id,现在我想将其更改为userid

   smsusers(id,fname,lname,userid)
Run Code Online (Sandbox Code Playgroud)

这里 id 是 varchar 类型 adn userid 是 int 类型

为此,我正在尝试以下查询

 ALTER TABLE smsusers DROP PRIMARY KEY
Run Code Online (Sandbox Code Playgroud)

这是显示这个错误

#1025 - Error on rename of '.\xrcwrn_sms\#sql-ae0_6f' to 
'.\xrcwrn_sms\smsusers' (errno: 150)
Run Code Online (Sandbox Code Playgroud)

idofsmsusers作为外键与许多表相关联。

如何更改主键。

Sat*_*h D 6

下面是一个例子:

ALTER TABLE `database`.`table`   
  DROP PRIMARY KEY,
  ADD PRIMARY KEY (`userid`);
Run Code Online (Sandbox Code Playgroud)