我需要在数据库表中创建一个字段,该字段已经填充了数据。当然,仅仅将字段添加为空是不可能的。只能想到新建一个新结构的表,把现有的数据复制到新表中,但是不知道有没有更简单的方法。
提示:它是一个复合键,由同一个表中的其他 3 个字段组成。
编辑:该字段包含一个 varchar 值 编辑:因为你们中的一些人会问,不可能仅通过使用 ADD UNIQUE 在填充的表中创建新的 UNIQUE 字段。它在所有条目中复制新的(空的或非空的)值。示例:
ALTER TABLE 'tablename' ADD 'fieldname' VARCHAR( 64 ) NOT NULL , 添加独特的( '字段名' )
错误:键“fieldname”的重复条目“”
最佳答案
Of course just adding the field empty is not possible.
为什么?
我会执行以下操作:
- 通过
ALTER TABLE t ADD COLUMN new_column *type_definition*
创建字段 - 更新新创建的字段,如
UPDATE t SET new_column=*computation_expression*
- 按
ALTER TABLE t ADD INDEX ...
添加索引(或ALTER TABLE t ADD PRIMARY KEY ...
如果您需要它作为主)。
关于MySQL:在已填充的表中创建新的唯一字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8733573/