ALTER TABLE `table` ADD `unionid` VARCHAR( 255 ) NOT NULL
然后设置唯一索引
ALTER TABLE `table` ADD UNIQUE ( `unionid` )
提示
请问这是为什么呢?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
最初の SQL 文: table テーブルに unionid 列を追加しました。これは空ではない文字列であるため、初期値は空の文字列 '' です。
table
unionid
''
テーブルの table 列に一意制約を設定しますが、一意制約の前提は unionid 列の値が繰り返されないことです。 unionid 列の値はすべて null 文字列 unionid であるため、'' がレポートされます。 Duplicate entry '' for key 'unionid'
Duplicate entry '' for key 'unionid'
の値を繰り返しないように修正してから、列に一意の制約を追加します。 unionid
インデックスを追加するときは、データベースに直接アクセスして操作すると、コマンド プロンプトが表示されるので、何が間違っているかがわかります。
最初の SQL 文:
2 番目の SQL 文:table
テーブルにunionid
列を追加しました。これは空ではない文字列であるため、初期値は空の文字列''
です。テーブルの
解決策: まず、table
列に一意制約を設定しますが、一意制約の前提はunionid
列の値が繰り返されないことです。unionid
列の値はすべて null 文字列unionid
であるため、''
がレポートされます。Duplicate entry '' for key 'unionid'
の値を繰り返しないように修正してから、列に一意の制約を追加します。
unionid
インデックスを追加するときは、データベースに直接アクセスして操作すると、コマンド プロンプトが表示されるので、何が間違っているかがわかります。