如何将表中的两个 varchar 字段设为主键?

Deu*_*eit 1 mysql innodb composite-primary-key

MySQL 引擎:InnoDB

我有一张桌子,我需要两个字符串作为主键。这样做的原因是因为我希望 ON DUPLICATE KEY UPDATE 依赖于这两个字符串。我怎么做?提前泰。

Asa*_*din 5

您不应将它们用作主键。将它们用作UNIQUE索引,并且ON DUPLICATE KEY UPDATE仍然有效。我建议您将主键设置为完全独立于您的数据的单个整数类型列。

看看这个例子:http : //sqlfiddle.com/#!2/41f2d/1