sql >> データベース >  >> RDS >> Mysql

MySQL固有の1500varcharフィールドエラー(#1071-指定されたキーが長すぎました)

    linkにURLを保存するので 列には、URLにASCII文字しか含めることができないため、実際にはUTF8を使用する必要はありません。 linkにプレーンASCII文字エンコードを指定する 列では、最大長を3072文字に増やすこともできます。

    CREATE TABLE IF NOT EXISTS `pages` (
      `link` varchar(1500) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
      `domain` varchar(255) NOT NULL,
      `lastvisited` datetime DEFAULT NULL,
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      PRIMARY KEY (`id`),
      UNIQUE KEY `link` (`link`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ROW_FORMAT=DYNAMIC;
    

    ascii_binに対する@eggyalの提案に従って更新されました 照合)




    1. <SQL>テーブルのVARCHAR2のサイズを変更する方法

    2. 結果と合体テーブルに新しい列を追加します

    3. MYSQL-同じIDに対して複数のレコードを持つすべてのレコードを取得します

    4. PHPアレイをMySQLに保存しますか?