phpMyAdmin 删除 MySQL 表的主键

phpMyAdmin 删除 MySQL 表的主键

我的问题是这样的:我在 WAMP Server 的 phpMyAdmin 中创建一个表,我总是将第一列设为

name: id
type: int
index: primary
auto_increment: true

然后我添加其他列,大部分是无害的intvarchar。有时timestampDEFAULT = CURRENT_TIMESTAMP。我保存表格没有任何问题。

然后,当我开始在我的 php 脚本中使用这个表时,我添加了一个值而没有声明 id 的值,因为它是auto_increment,所以像这样:

$pdo->query("INSERT INTO mytable(harmless_int, harmless_varchar) VALUES ('42','marvin');");

当我在 phpMyAdmin 中检查我的表时,我看到的值为id0。此外,我单击“结构”,然后单击“更改”列id,我发现它不再具有auto_increment属性。因此,我DROP再次以完全相同的方式创建表,然后它就可以正常工作了。

这种情况经常发生,我总是必须创建同一张表两次。那么我做错了什么?

答案1

我认为这归因于您所做的表格复制。

我只能想到你过去可能做过类似的事情:

CREATE TABLE [new_table] SELECT * FROM [old_table]

看起来,虽然它保留了列名和数据,但它并没有保留结构和键。

我怎么知道?——我也是经过一番艰难的努力才发现的。

相关内容