タグ付けされた質問 「mysql」

MySQLは、構造化照会言語(SQL)を使用する無料のオープンソースのリレーショナルデータベース管理システム(RDBMS)です。SQL Server、SQLiteなど、他のDBにはこのタグを使用しないでください。これらはすべて、独自のSQL方言を使用してデータを管理する異なるDBです。

27
各グループの最後のレコードを取得する-MySQL
messages以下に示すようなデータを含むテーブルがあります。 Id Name Other_Columns ------------------------- 1 A A_data_1 2 A A_data_2 3 A A_data_3 4 B B_data_1 5 B B_data_2 6 C C_data_1 クエリを実行するselect * from messages group by nameと、結果は次のようになります。 1 A A_data_1 4 B B_data_1 6 C C_data_1 どのクエリが次の結果を返しますか? 3 A A_data_3 5 B B_data_2 6 C C_data_1 つまり、各グループの最後のレコードが返されます。 …

11
INNER JOIN ONとWHERE句
簡単にするために、すべての関連フィールドがであると仮定しますNOT NULL。 できるよ: SELECT table1.this, table2.that, table2.somethingelse FROM table1, table2 WHERE table1.foreignkey = table2.primarykey AND (some other conditions) または他の場合: SELECT table1.this, table2.that, table2.somethingelse FROM table1 INNER JOIN table2 ON table1.foreignkey = table2.primarykey WHERE (some other conditions) これら2つは同じ方法で機能しMySQLますか?
941 sql  mysql  join  inner-join 



11
MySQLテーブルに挿入するか、存在する場合は更新します
行をデータベーステーブルに追加したいのですが、同じ一意のキーを持つ行が存在する場合、その行を更新します。 例えば: insert into table (id, name, age) values(1, "A", 19) 一意のキーがidで、データベースにの行があるとしid = 1ます。その場合、その行をこれらの値で更新します。通常、これはエラーになります。 使用insert IGNOREするとエラーは無視されますが、それでも更新されません。

13
MySQLの複数の列に一意の制約を指定するにはどうすればよいですか?
テーブルがあります: table votes ( id, user, email, address, primary key(id), ); 今、私は列を作りたいです ユーザー、電子メール、アドレスを(一緒に)一意にします。 MySqlでこれを行うにはどうすればよいですか? もちろん、この例は単なる例です。したがって、セマンティクスについては心配しないでください。

25
MyISAM対InnoDB [終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 多くのデータベース書き込みを伴うプロジェクトに取り組んでいると思います(挿入70%、読み取り30%)。この比率には、1回の読み取りと1回の書き込みと見なす更新も含まれます。読み取りはダーティである可能性があります(たとえば、読み取り時に100%正確な情報は必要ありません)。 問題のタスクは、1時間に100万を超えるデータベーストランザクションを実行します。 MyISAMとInnoDBの違いについてウェブでたくさん読んだことがありますが、MyISAMは、このタスクに使用する特定のデータベース/テーブルについて私にとって明らかな選択のようです。私が読んでいるように見えることから、行レベルのロックがサポートされているため、トランザクションが必要な場合はInnoDBが適しています。 このタイプの負荷(またはそれ以上)の経験はありますか?MyISAMを使用する方法はありますか?


8
MySQL:VARCHARとTEXTが大きいですか?
MySQLには、ユーザー間のメッセージを記録するメッセージテーブルがあります。典型的なIDとメッセージタイプ(すべて整数タイプ)とは別に、実際のメッセージテキストをVARCHARまたはTEXTとして保存する必要があります。フロントエンドの制限を3000文字に設定しています。これは、メッセージがこれより長くDBに挿入されることはないことを意味します。 VARCHAR(3000)またはTEXTを使用する根拠はありますか?VARCHAR(3000)を記述するだけで、直感に反するようなものがあります。私はStack Overflowで他の同様の投稿をしましたが、このタイプの一般的なメッセージの格納に固有のビューを取得するのに適しています。
845 mysql  text  messages  varchar 

10
MySQLに「存在しない場合は挿入する」方法は?
私はグーグルで始め、mutexテーブルについて説明しているこの記事を見つけました。 約1,400万レコードのテーブルがあります。同じ形式でさらにデータを追加したい場合、クエリのペアを使用せずに、挿入したいレコードが存在しないことを確認する方法があります(つまり、チェックするクエリと挿入するクエリが結果セットである)空の)? uniqueフィールド保障上の制約は、insertそれがすでにあるかどう失敗しますか? 制約があるだけで、php経由でinsertを発行すると、スクリプトが鳴るようです。

18
結合とサブクエリ
私は昔ながらのMySQLユーザーであり、常にサブクエリJOINよりも優先しています。しかし、今日では誰もがサブクエリを使用しており、私はそれが嫌いです。理由はわかりません。 何か違いがあるかどうかを自分で判断するための理論的な知識が不足しています。サブクエリはと同じくらい良いので、JOIN心配する必要はありませんか?
837 sql  mysql  subquery  join 

11
「INSERT IGNORE」と「INSERT…ON DUPLICATE KEY UPDATE」
INSERT多くの行を含むステートメントを実行しているときに、他の方法では失敗の原因となる重複したエントリをスキップしたいと思います。いくつかの調査の後、私の選択肢はどちらかを使用することです: ON DUPLICATE KEY UPDATE なんらかのコストで不必要な更新を意味する、または INSERT IGNORE これは、他の種類の失敗が未発表で滑り込むことへの招待を意味します。 私はこれらの仮定で正しいですか?重複を引き起こす可能性のある行を単にスキップして、他の行に進むための最良の方法は何ですか?
833 mysql  insert 

17
MySQLエラーコード:MySQL Workbenchでの更新中の1175
列を更新visitedして値を1にしようとしています。MySQLワークベンチを使用し、SQLエディターでワークベンチ内からステートメントを作成しています。次のコマンドを書いています。 UPDATE tablename SET columnname=1; 次のエラーが表示されます。 セーフ更新モードを使用していて、KEY列を使用するWHEREなしでテーブルを更新しようとしました。セーフモードを無効にするには、オプションを切り替えます... 私は指示に従った、と私はチェックsafe updateからオプションをEdit、メニューPreferences、その後SQL Editor。同じエラーが引き続き表示され、この値を更新できません。何が悪いのか教えてください。


24
MySQLで重複する値を見つける
varchar列のあるテーブルがあり、この列に重複する値を持つすべてのレコードを検索したいと思います。重複を見つけるために使用できる最良のクエリは何ですか?
769 mysql 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.