質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL Workbench

MySQL Workbenchは、オープンソースのデータベースモデリングツールです。ビジュアルなデータベース設計・SQL開発・サーバー設定・ユーザー管理・バックアップといった様々な管理ツールを備えます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

348閲覧

MySQLのUPDATE文エラー

minsuke07

総合スコア1

MySQL Workbench

MySQL Workbenchは、オープンソースのデータベースモデリングツールです。ビジュアルなデータベース設計・SQL開発・サーバー設定・ユーザー管理・バックアップといった様々な管理ツールを備えます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2023/01/20 09:02

前提

MySQLで基本的な構文を勉強している初心者です。
以下の文でUPDATEをかけたいのですがエラーになってしまいます。

発生している問題・エラーメッセージ

UPDATE users SET age = 22 WHERE name = '佐藤';
の文で Error Code: 1175. の発生
キーを指定せずにUPDATE文を実行した場合に発生すると書かれています。

該当のソースコード

DROP TABLE IF exists users; CREATE TABLE users ( name VARCHAR(100), age INT ); INSERT INTO users VALUES ('佐藤', 21); INSERT INTO users VALUES ('鈴木', 25); INSERT INTO users VALUES ('田中', 21); INSERT INTO users VALUES ('山田', 32); UPDATE users SET age = 22 WHERE name = '佐藤';

試したこと

キーは WHERE name ='佐藤'; で指定していると思っているのですが、
WHEREで条件を指定しない場合でもすべてのデータが更新されるはずと思い
UPDATE users SET age = 22; だけでも試しましたが同じエラーが出ます。

自分の知識では何が悪いのか分からないので教えて頂ければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2023/01/20 09:04

> Error Code: 1175. の発生 それ以上のエラーの詳細がメッセージに入っていたりはしませんか?
guest

回答1

0

ベストアンサー

MySQL Workbenchをご利用であれば以下が参考になるかもしれません

ただしwhere句を適正に指定しているのに1175エラーとなっているのはちょっと解せませんが

投稿2023/01/20 09:16

yambejp

総合スコア114839

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YT0014

2023/01/21 04:29 編集

手元のWorkbenchで確認したところ、再現。 WhereにKEY列以外しか指定していなかった場合、発生するようです。 Wrokbench 6.2、mySQL 5.6 エラーメッセージ Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.
YT0014

2023/01/21 04:31

上記の環境で、key test (name) をcreateに追加したところ、更新されました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問