我已经看到了几个解决方案,但我想知道最好和最有效的方法是去掉一张桌子.您可以使用代码(SQL等)来说明您的观点,但我只是在寻找基本算法.我假设在SO上已经有一个关于这个的问题了,但我找不到一个,所以如果它已经存在,那就给我一个抬头.
(只是为了澄清 - 我指的是在具有增量自动PK的表中删除重复项,并且除了PK字段之外的所有行中都有一些重复的行.)
我正在尝试使用alembic将'id'主键列添加到已存在的MySQL表中.我试过以下......
op.add_column('mytable', sa.Column('id', sa.Integer(), nullable=False))
op.alter_column('mytable', 'id', autoincrement=True, existing_type=sa.Integer(), existing_server_default=False, existing_nullable=False)
Run Code Online (Sandbox Code Playgroud)
但得到以下错误
sqlalchemy.exc.OperationalError: (OperationalError) (1075, 'Incorrect table definition; there can be only one auto column and it must be defined as a key') 'ALTER TABLE mytable CHANGE id id INTEGER NOT NULL AUTO_INCREMENT' ()
Run Code Online (Sandbox Code Playgroud)
看起来像是由alembic生成的sql语句没有PRIMARY KEY在alter语句的末尾添加.我可以错过一些设置吗?
提前致谢!