MySQL使った時に起きたくだらないミスによるエラーまとめ(Python含む)
くだらないエラーで悶々と悩む人よ、
僕のミスを見て、もしかしたら同じ躓きに気づけるかもしれない!!
くだらないミスまとめ(MySQLそのもの)
そもそもデータベース作れてなかった
ERROR 1045(28000) Access denied for user ……
最初は root で入ろうな!
mysql -u root -p; create database DATABASENAME;
ユーザー登録ができない
ERROR 1064(42000): You have an error in your SQL syntax; check the manual……
構文が古い可能性が•••••?
grant all on …… の一行では(もう?)できないんだって。
こうやって書けばいけると思う。
create user ‘USERNAME’@‘localhost’ identified by ‘PASSWORD’; grant all on DATABASENAME.* to ‘USERNAME’@‘localhost’ with grant option; flush privileges;
ちなみに、二行目の「.*」を忘れると、1064(3D000)エラーになるぞ。
やっと、以下の文で入れるようになったー。
mysql -u USERNAME -p DATABASENAME
くだらないミスPythonの時
Pythonはエラーメッセージがわかりやすい。
mysql-connection-python がない
anaconda にありがちかもしれないが、pip 使うのにこう書く必要あったりする。
python -3 pip install mysql-connection-python
普通のPythonライブラリと混ざって、anacondaライブラリに追加されてなかったりするから••••••
fetchone とか綴り間違えがち
fethone とか書いてたわ。fetchone な!
複数形のs忘れがち
mysql-connector.errors.ProgrammingError: 1064(42000): ……
「そんなデータの格納場所ねえよ」って言ってるかも。
スペルミスとか複数形のsとかに注意。
’ ’忘れがち
_mysql-connector.MySQLInterfaceError: ……
文字列はちゃんと囲め。特にデータ追加するときとかな••••••
intじゃなくてintoだから
データを後から入れたい時に出たエラー
mysql.connection.errors.ProgrammingError: 1054(42S22): …...
僕は、こう書いていた、
insert int log ……
これはintoだ。
insert into log ……
おそらくスペルミスでこの辺は同じエラーが出る。
結論
またSyntaxなんとかってエラー文出てないかを見てみる。
出てたら、スペルミスか、閉じカッコがないとか、カッコの種類が違うとか、そんなものだ••••••