MySQL:如何在 phpMyAdmin 上设置主键?
Posted
技术标签:
【中文标题】MySQL:如何在 phpMyAdmin 上设置主键?【英文标题】:MySQL: How to set the Primary Key on phpMyAdmin? 【发布时间】:2013-10-12 11:10:33 【问题描述】:帮助!第一次使用 phpMyAdmin。我打算设置为主键的列是phpMyAdmin中的TEXT,它给了我一个错误消息,无法设置主键!而且我不想将其更改为 INT。我该如何解决这个问题?百万谢谢!
PS。我还没有在这个表上输入任何值或关联任何其他表。
【问题讨论】:
【参考方案1】:您可以在文本列上设置主键。在 phpMyAdmin 中,显示表的结构,单击索引,然后要求在一列上创建索引。然后选择 PRIMARY,选择您的 TEXT 列,但您必须设置足够大的长度以使其独一无二。
【讨论】:
谢谢你告诉我。我现在知道该怎么做了。另一个问题出现了,Index 是什么意思和作用? 那将是一个新线程。这是***.com/questions/707874/… 的答案,但通常您需要检查堆栈溢出的答案,如果不存在,请将其作为单独的问题发布以供其他人查找。 使“要求创建索引”变得不那么模糊:在 phpmyadmin 4.8.x 中,在表结构视图中,结构网格的正下方有用于分配主要、唯一和索引的可单击项这些功能的复选框字段。或者在“索引”显示下方的页面下方,有一个“创建索引”功能,您可以选择 N 列。相邻的 Go 按钮调用一个对话框来填写更多信息,包括 Primary/Unique/Index 和更多选择。它还允许预览它建议运行的 ALTER sql。【参考方案2】:mysql可以索引一列的前x个字符,但是TEXT类型是可变长度的,所以mysql不能保证该列的唯一性。如果你仍然想要文本列,使用VARCHAR。
【讨论】:
【参考方案3】:您不能设置数据类型为“文本”的字段。仅因为那件事,您才会收到此错误。尝试用 int 改变数据类型
【讨论】:
@just_a_newbie:那么,如果你的值是可变长度的,你应该使用varchar,如果你的值是恒定长度,你可以使用char。【参考方案4】:您可以查看下面的 INDEXES 列,您可以在其中找到设置了默认 PRIMARY KEY 的位置。如果未设置或您想将任何其他变量设置为 PRIMARY KEY,则下面会出现一个对话框,用于创建要求列号的索引,无论您是创建新的还是编辑现有的。现有的会显示一个编辑按钮,你可以去编辑它,你完成保存它,你准备好了
【讨论】:
以上是关于MySQL:如何在 phpMyAdmin 上设置主键?的主要内容,如果未能解决你的问题,请参考以下文章
通过 PhPMyAdmin 在 MySql Server 上设置默认时区