つきすけ の コーディング記

細かいところで嫌にならないように、小さいことでも解説していくブログ。たまに関係ないことも書く。

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なんとかってエラー文出てないかを見てみる。
出てたら、スペルミスか、閉じカッコがないとか、カッコの種類が違うとか、そんなものだ••••••