ColumnName は一意です ( UNIQUE KEY ColumnName
)。
列を一意にしないようにしたいだけです(非常に単純でなければなりませんが、その方法がわかりません)。
phpMyAdmin で列名を確認し、下部にある [一意のアイコン] をクリックすると、#1062 - Duplicate entry '' for key 'RegistrationNumber'
. OK、アイコンをクリックしてそれを見てくださいADD UNIQUE
。
行内の構造にユニークなアイコンがあります。ただし、アイコンはクリックできません。
phpMyAdminのように、クエリを試して、それを行う方法が見つかりませんでした。
試したアドバイスに基づいていALTER TABLE TableName DROP INDEX ColumnName
ます。
得る1091 Can't DROP 'ColumnName'; check that column/key exists
ここでhttps://stackoverflow.com/a/4414694/2465936が見つかりましたThis error means that you are trying to delete a key which is being used by another table.
おそらく ColumnName は別のテーブルで使用されています。
列を一意にしないために何をする必要があるかアドバイスしてください。
SHOW CREATE TABLE
ゲットで
Array
(
[0] => Array
(
[Table] => 18_6_TransactionPartners
[Create Table] => CREATE TABLE `18_6_TransactionPartners` (
`Number` int(11) NOT NULL AUTO_INCREMENT,
`CompanyName` char(255) COLLATE utf8_unicode_ci NOT NULL,
`RegistrationNumber` char(255) COLLATE utf8_unicode_ci NOT NULL,
.......
PRIMARY KEY (`Number`),
UNIQUE KEY `Number_2` (`Number`),
UNIQUE KEY `CompanyName` (`CompanyName`,`RegistrationNumber`),
KEY `Number` (`Number`)
) ENGINE=InnoDB AUTO_INCREMENT=444 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
)
)
アップデート
@Bart Friederichs のアドバイスに基づいて、一意ではないALTER TABLE 18_6_TransactionPartners DROP INDEX Number
列を試して変更しました。RegistrationNumber
理由がわかりません(一意のキーが混乱している可能性があります)。いずれにせよ、一意ではないものに変更できます。