Error number: 3750; Symbol: ER_TABLE_WITHOUT_PK; SQLSTATE: HY000
Message: Unable to create or change a table without a primary key, when the system variable ‘sql_require_primary_key’ is set. Add a primary key to the table or unset this variable to avoid this message. Note that tables without a primary key can cause performance problems in row-based replication, so please consult your DBA before changing this setting.
Error Number: 3750; Symbol: ER_TABLE_WITHOUT_PK; SQLSTATE: HY000
错误说明:ER_TABLE_WITHOUT_PK错误表明MySQL尝试创建没有主键的表,而MySQL要求表必须有主键。此错误可能会导致MySQL拒绝服务,因为MySQL不允许用户创建没有主键的表。
解决方法:最简单的解决方法是在创建表时明确地声明一个主键,例如:CREATE TABLE MyTable (Id INT PRIMARY KEY),此方法的缺点是没有更多选择,例如用户可能想给表添加更多类型的键或键值。另一个可行的解决方法就是在表创建完成后,添加主键或一个复合主键。通过使用SQL语句ALTER TABLE MyTable ADD PRIMARY KEY (Id),就可以添加一个主键到表中,如果用户希望添加一个复合主键,他可以使用ALTER TABLE MyTable ADD PRIMARY KEY (Id,Field2),就可以添加复合主键到表中。