gpt4 book ai didi

mysql - 将 MySQL 字段编辑为 AUTO_INCREMENT 时出错

转载 作者:可可西里 更新时间:2023-11-01 08:21:38 25 4
gpt4 key购买 nike

我正在尝试通过 PHP 将 MySQL 中的字段编辑为 NOT NULL 和 AUTO_INCREMENT。我尝试了以下路线来执行此操作,但我不断收到错误消息。知道为什么吗?

$con = mysql_connect("host", "user", "pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("database_name", $con);

$int = "ALTER TABLE `table_name` CHANGE `column_name` `column_name` INT(11) NOT NULL AUTO_INCREMENT";

if (!mysql_query($int,$con))
{
die('Heres Your Error: ' . mysql_error());
}

mysql_close($con)

这是错误信息:

Incorrect table definition; there can be only one auto column and it must be defined as a key

最佳答案

在这种情况下,MySQL 的问题是“先有鸡还是先有蛋”的情况。

如果表已经有一个 AUTO_INCREMENT 列,则错误消息的前半部分适用于只有一个列可以是 AUTO_INCREMENT。

使用 AUTO_INCREMENT 创建表必须与定义 PRIMARY KEY 一起完成。

如果表没有 AUTO_INCREMENT 列,则错误消息的后半部分适用于创建 AUTO_INCREMENT 必须与 PRIMARY KEY 一起完成。

试试这个:

ALTER TABLE `table_name` CHANGE `column_name` `column_name` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY;

关于mysql - 将 MySQL 字段编辑为 AUTO_INCREMENT 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6671329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com