我有一个已经填充了120条记录的现有产品表,我尝试过以下SQL查询:
ALTER TABLE product ADD product_id
INT PRIMARY KEY AUTO_INCREMENT
但它给了我错误:
错误:#1075 - 表定义不正确;只能有一个自动列,必须将其定义为键
答案 0 :(得分:1)
这是解决方法
你完成了!
:)感谢不在Stackoverflow中的Guy
答案 1 :(得分:0)
朋友 如果您尝试在MSSQL中执行此操作,那么您的脚本将是这个。 假设你的桌子在
之下create table product
(
name varchar(20),
product_type varchar(20)
)
并假设您在此表中输入了一些记录,之后您要添加一个名为product_id且具有自动增量和主键的列。然后使用下面的
脚本alter table product add product_ID int primary key identity(1,1)
假设这对您有帮助。
答案 2 :(得分:-1)
每个表只能有一个自动增量字段。但是,您可以根据自动增量字段设置计算字段。或者,您可以有一个int字段,您可以通过前端代码或触发器来管理序列。此外,您还可以在SQL Server中使用clue。
CREATE SEQUENCE MySequence START WITH 100;
CREATE TABLE MyTable
(
RealIdentity INT IDENTITY(1,1),
RandomCol NVARCHAR(100),
FakeIdentity INT DEFAULT NEXT VALUE FOR MySequence
);
更新 - MySQL方式
我刚注意到你的问题是针对MySQL的。以上答案适用于MS SQL。以下是您在MySQL中如何做同样的事情。