azure mysqlにデータを入れていく

vagrantから普通にtableを作って、データを入れていきます。

mysql -u adminuser@namysql -h namysql.database.windows.net -P 3306 -p

create database sier;

create table sier.forein(
	id int unsigned auto_increment primary key,
	company varchar(255),
	address varchar(255),
	station varchar(255),
	url varchar(2083),
	menu varchar(255)
);


INSERT INTO sier.forein(company, address, station, url, menu)
  VALUES ('Microsoft','〒108-0075 東京都港区港南 2-16-3 品川グランドセントラルタワー','品川','https://www.microsoft.com/ja-jp','office, windows, surface, xbox, お買い得商品,サポート');
INSERT INTO sier.forein(company, address, station, url, menu)
  VALUES ('Oracle','〒107-0061 東京都港区北青山2-5-8 オラクル青山センター','外苑前','https://www.oracle.com/jp/index.html','Cloud, イベント, whats new お客様成功事例');
INSERT INTO sier.forein(company, address, station, url, menu)
  VALUES ('Accenture','〒107-8672 東京都港区赤坂1-11-44 赤坂インターシティ','溜池山王','https://www.accenture.com/jp-ja/new-applied-now','トレンド,サービス,業界,採用情報,会社情報');
INSERT INTO sier.forein(company, address, station, url, menu)
  VALUES ('Cisco','〒107‐6227 東京都港区赤坂9丁目7−1 ミッドタウン・タワー','六本木','https://www.cisco.com/c/ja_jp/index.html','製品&サービス,サポート,購入案内,トレーニング&イベント,パートナー');

なにーー!文字化けしている。。。あれ、azureのmysqlってUTF-8じゃないのかしら?

>Japanese_CI_AS などの日本語照合順序での文字 “あ” は、文字コード 0x82A0として表現されますが、上記の例の場合、データベースの照合順序が SQL_Latin1_General_CP1 であるため、”あ” を表現しているつもりの文字コード 0x82A0 は、実際には “あ” ではなく SQL_Latin1_General_CP1 の文字として扱われます。尚、SQL_Latin1_General_CP1 の文字コード 0x82A0 に対応する Unicode 文字が存在しません。その結果、”あ” の変換結果は “?” となり、テーブル列に “?” が格納されることになります。

なるほど、対応するunicode文字がないようですね。

一旦テーブルを削除します。
mysql> drop table sier.forein;
Query OK, 0 rows affected (0.40 sec)

nvarcharで作り直します。

create table sier.forein(
	id int unsigned auto_increment primary key,
	company nvarchar(255),
	address nvarchar(255),
	station nvarchar(255),
	url nvarchar(2083),
	menu nvarchar(255)
);

今度こそ!

よっしゃ!

さー、次はpdoでselectですね!テンションが上がってまいりました!