1985 件中 511 - 520 件を表示
« 前の 10 件 | 次の 10 件 »
Displaying posts with tag: MySQL (reset)
MySQL8.0.19で加わった VALUES を試してみる

MySQL 8.0.19。MySQL 8.0 の「メンテナンスリリース」です。
8.0.19より前のMySQLには、「標準SQLのひとつであるVALUES文が実装されていない」という重大な不具合が含まれていたため、バグ修正として本リリースに含まれたようです(真に受ける人がいると困るので、無粋ながら説明しておくと、これ、思いっきり「新機能」ですからね! )

[さらに読む]
MySQL Technology Cafe #7 で『MySQL Shellを使ってみよう』を聞いてからのWindowsでの導入部分

MySQL Shell をWindowsに入れてみる

先日参加してきたMySQL Technology Cafe #7MySQL Shellって何?どんなことできるの? といった初心者向けの話がされるというので聞いて来ました。

今回はそこから学んだこと、およびハマってしまったWindowsでの設定について軽く触れておきます。

(普段Linuxなので …

[さらに読む]
MySQL 8.0.19が来た! その1: 明示表(Explicit Table)とTVC(Table Value Constructor)

今週頭(2020-01-13)にMySQL 8.0.xのメンテナンスリリースである8.0.19が出ました。

多くの機能が追加されましたが、本ブログではあまり他の人が取り上げなさそうなものをご紹介します。
そのうちの一つ明示表(Explicit Table)について。

リリースノートには以下の記述があります。

Important Change: MySQL now supports explicit table clauses and table value constructors according to the SQL standard.

VALUESについては以前以下の発表の中で触れました。Db2とPostgreSQLがサポートしている形式までいっきょにMySQL …

[さらに読む]
MySQL 8.0 の LOAD DATA で The used command is not allowed with this MySQL version エラー

TL;DR

  • MySQL 8.0 で LOAD DATA INFILE LOCAL を利用するには、
  • サーバとクライアント両方で local-infile パラメータを ON にする必要がある
  • セキュリティ強化のため、8.0から LOAD DATA INFILE LOCAL はデフォルトで無効にされた

MySQL 8.0 で LOAD DATA INFILE LOCAL が通らない

Loading local data is disabled; this must be enabled on both the client and server sides エラー*1LOAD DATA INFILE LOCAL が通らなくなっていた 。

mysql> LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE tbl SET name=@1, created_at=@2;
ERROR 3948 (42000): …
[さらに読む]
explicit_defaults_for_timstampのONとOFFでエラーになるケースならないケース

TL;DR

explicit_defaults_fot_timestamp カラムのデフォルト値 INSERTでカラム未指定 INSERTでNULLを指定
ON なし エラー エラー
ON あり OK エラー
OFF なし エラー OK
OFF あり OK OK

explicit_defaults_for_timestamp

[さらに読む]
MySQLのSRID()でSRID変換する際にaxis-orderで悩んだ話

訳あって、MySQLで「GEOMETRY型のカラムに、いったん SRID=0で登録したあと、一気に正しいSRIDに変換する」ということをやろうとしたところ、思惑通りにいかず随分悩んだので、整理しておきます。

やろうとしたこととエラー発生

 ここではシンプルな例に置き換えた再現実験で紹介します。

 まず、GEOMETRY型を入れられるテーブルを作りデータを1件登録します。

CREATE TABLE g1 (g GEOMETRY);
INSERT INTO  g1 VALUES (ST_GeomFromText("POINT(35 135)"));

 SRIDを指定していないので、SRID=0で登録されています。axis-orderは lat-long です(というか、そうなっていることを期待して登録しました)。登録された内容を確認してみます。

mysql> SELECT …
[さらに読む]
Twitterの過去のツイート履歴をMySQLに取り込む in 2019

TL;DR

  • 過去のツイート履歴がCSVからJSに変わったっぽい
  • でも大丈夫、俺達には JSON_TABLE関数 があるから

かつてはCSVだったツイート履歴、最近ダウンロードしてみたらJSファイルになっていた。しかもでかい。

$ mkdir work
$ cd work
$ unzip ../twitter-2019-12-20-ce0bbf92f327035a47c135f037e0568f6166df65f5f1011bc9d0bc2b6b9b6c3f.zip
..

$ du -sh .
239M .

$ ll -h tweet.js
-rwxrwxrwx 1 yoku0825 yoku0825 47M Dec 20 09:00 tweet.js

しかもこのJS、よしなにpretty printされていてグレッパビリティが悪い。

$ head tweet.js
window.YTD.tweet.part0 = [ {
"retweeted" : false,
"source" : "<a href=\"https://mobile.twitter.com\" …
[さらに読む]
" _ " or " % " - Which is faster? (Like predicate in MySQL's sql)

MySQL Advent Calendar 2019 の22日目です。

MySQLのあいまい検索時のLIKEで使える「_」と「%」について調べてみました。

あいまい検索時に使う「_」と「%」

会社でlike 検索した際に「_」と「%」で速度差ってあるのかな?という話になり、

こういうの調べたことある人って世の中に結構いるんじゃない?と調べてみたんですが、なかなか出てこないので自分で調べてみました

検証について

  • カラムはとりあえず文字列としました
  • セカンダリインデックスの有無とNULLの有無で比較
[さらに読む]
MySQLのDROP DATABASEでWARNINGが表示されない事象

 DROP DATABASE IF EXISTS ... で存在しないデータベースをドロップしようとしたときに、WARNING が表示されない事象があったので紹介します。

IF EXISTS (テーブルの場合)

 MySQLDROP文には "IF EXISTS" というオプションがあり、たとえばテーブルの場合は、以下のように使います。

mysql> use test
mysql> DROP TABLE IF EXISTS mytable999;                                                                                             
Query OK, 0 rows affected, 1 warning (0.02 sec)

 mytable999 というテーブルは存在しませんが、IF EXISTS 句のおかげでエラーにはならず正常終了しています。

[さらに読む]
MySQL 8.0時代のSET GLOBALとかSET PERSISTに必要な権限

TL;DR

  • オンライン変更は SYSTEM_VARIABLES_ADMIN 権限。 SUPER は非推奨。
  • SET PERSIST_ONLYSYSTEM_VARIABLES_ADMIN 権限 && PERSIST_RO_VARIABLES_ADMIN 権限

ふとコードを読んでいる時に SET PERSIST_ONLY には SUPER 権限は絡んでなさそうなことに気が付いたので試してみる。

  /* for dynamic variables user needs SUPER_ACL or SYSTEM_VARIABLES_ADMIN */
if (!static_variable) {
if (!sctx->check_access(SUPER_ACL) &&
!(sctx->has_global_grant(STRING_WITH_LEN("SYSTEM_VARIABLES_ADMIN"))
.first)) {
my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0),
"SUPER or SYSTEM_VARIABLES_ADMIN");
return 1;
}
} else {
/*
for …
[さらに読む]
1985 件中 511 - 520 件を表示
« 前の 10 件 | 次の 10 件 »