質問: ### やりたいこと mysqlにあるユニークなカラムの中身の型をstringからdateに変えてupdateしたい。 id, name , date(string)があります。 この中でdateがユニークキーでstringで日付が入っている場合(11/1や11/2)どのように 2018-11-01のようにdateの型にどのようにすれば中身を入れ替えることができるでしょうか?? str_to_dateを使うとselectはできると見ましたが、実際にupdateするとなると、サブクエリを使う感じでしょうか? よろしくお願いします。
回答: 1.ユニークキーを外す(ALTER TABLE [テーブル名] DROP PRIMARY KEY) 2.日付型に変換できる文字列にupdateする(update [テーブル名] set [カラム名]=[日付型に編集する式]) 3.型を変更する(ALTER TABLE [テーブル名] MODIFI [カラム名] [型]) 4.ユニークキーを設定する(ALTER TABLE [テーブル名] ADD PRIMARY KEY (カラム名,・・・) 13.1.7 ALTER TABLE 構文 13.2.11 UPDATE 構文 ※試してないので、もし、3でエラーになった場合は、新たな日付の項目を追加して、編集後に不要な項目をdropして追加した項目をrenameという手順になるかもです。