如何在不使用更新功能的情况下添加列后如何在列中插入新数据。例如“ alter table Employee add column Gender varchar(1) after Birthdate
,那么当我使用此语句insert into Employee(ENumber,EmpName,Birthdate,Address,Salary,DNumber,Gender)
-> values
-> ('E001','GSInocencio','1988-01-15','Munoz',18000,'D005','F'),
时我弄错了它给我错误Duplicate entry 'E001' for key 'PRIMARY'
MariaDB [Employees_Valdez]>
消息非常清楚:您已经有一个具有该ENumber值的员工。
您在该列上具有UNIQUE
约束,它是PRIMARY KEY
,因此请选择其他值或使用其他主键。
要注意的一件事是MySQL不能非常有效地使用复杂的字符串主键,因为它们太大了,它们对于关联数据也确实很麻烦。通常最好包括一个标准的id INT AUTO_INCREMENT PRIMARY KEY
列,然后将ENumber
作为辅助UNIQUE
约束。
然后,您可以使用4字节id
值关联数据,如果需要考虑BIGINT
,例如您可能有20亿员工,则可以使用8字节关联数据。