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

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

10
データベースに対する**すべて**の権限を付与する
'mydb'などのデータベースを作成しました。 CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin; CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH'; GRANT ALL ON mydb.* TO 'myuser'@'%'; GRANT ALL ON mydb TO 'myuser'@'%'; GRANT CREATE ON mydb TO 'myuser'@'%'; FLUSH PRIVILEGES; これで、どこからでもデータベースにログインできますが、テーブルを作成できません。 そのデータベースおよび(将来的には)テーブルに対するすべての特権を付与する方法。'mydb'データベースにテーブルを作成できません。私はいつも得ます: CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin); ERROR 1142 …


16
MySQLエラー1093-FROM句で更新のターゲットテーブルを指定できません
story_categoryデータベースに破損したエントリを持つテーブルがあります。次のクエリは、破損したエントリを返します。 SELECT * FROM story_category WHERE category_id NOT IN ( SELECT DISTINCT category.id FROM category INNER JOIN story_category ON category_id=category.id); 私は実行してそれらを削除しようとしました: DELETE FROM story_category WHERE category_id NOT IN ( SELECT DISTINCT category.id FROM category INNER JOIN story_category ON category_id=category.id); しかし、私は次のエラーを受け取ります: #1093-FROM句で更新のターゲットテーブル 'story_category'を指定できません どうすればこれを克服できますか?


30
#1071-指定されたキーが長すぎました; キーの最大長は767バイトです
次のコマンドを実行したとき: ALTER TABLE `mytable` ADD UNIQUE ( `column1` , `column2` ); 私はこのエラーメッセージを受け取りました: #1071 - Specified key was too long; max key length is 767 bytes column1とcolumn2に関する情報: column1 varchar(20) utf8_general_ci column2 varchar(500) utf8_general_ci 私は考えてvarchar(20)いる間のみ、21バイトを必要とvarchar(500)のみ501バイトが必要です。したがって、合計バイト数は522であり、767未満です。では、なぜエラーメッセージが表示されたのですか? #1071 - Specified key was too long; max key length is 767 bytes

8
MySQLでibdata1ファイルを縮小/パージする方法
Rで統計を実行するための「クエリツール」としてlocalhostでMySQLを使用しています。つまり、Rスクリプトを実行するたびに、新しいデータベースを作成し(A)、新しいテーブルを作成し(B)、データをBにインポートします。 、クエリを送信して必要なものを取得し、BをドロップしてAをドロップします。 私にとっては問題なく動作していますが、ibdataファイルのサイズが急速に増加していることを認識しています。MySQLには何も保存していませんが、ibdata1ファイルはすでに100 MBを超えています。 設定に多かれ少なかれデフォルトのMySQL設定を使用していますが、一定期間後にibdata1ファイルを自動的に縮小/パージする方法はありますか?
561 mysql  database  innodb 

5
MySQL文字列置換
私はURL(ID、URL)を含む列があります: http://www.example.com/articles/updates/43 http://www.example.com/articles/updates/866 http://www.example.com/articles/updates/323 http://www.example.com/articles/updates/seo-url http://www.example.com/articles/updates/4?something=test 「更新」という言葉を「ニュース」に変えたいのですが。スクリプトでこれを行うことは可能ですか?
560 mysql  replace 

9
mysqldumpで特定のテーブルをスキップする
mysqldumpコマンドから特定のテーブルを制限する方法はありますか? たとえば、次の構文を使用して、table1とtable2 のみをダンプします。 mysqldump -u username -p database table1 table2 > database.sql しかし、table1とtable2 を除くすべてのテーブルをダンプする同様の方法はありますか?mysqldumpのドキュメントで何も見つからなかったので、ブルートフォース(すべてのテーブル名を指定)が唯一の方法ですか?
558 sql  mysql  database  mysqldump 

17
mysqldumpからダンプファイルを復元するにはどうすればよいですか?
Windows Server 2008マシンのデータベースとして復元する必要があるMySQLデータベースファイルが提供されました。 MySQL Administratorを使用してみましたが、次のエラーが発生しました: 選択したファイルはmysqldumpによって生成されたため、このアプリケーションでは復元できません。 これを機能させるにはどうすればよいですか?
544 mysql  sql  database 


10
MongoDBまたは他のドキュメント指向データベースシステムをいつ使用するのですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 ビデオクリップとオーディオクリップ、写真、ベクターグラフィックスのプラットフォームを提供しています。データベースのバックエンドとしてMySQLから始め、最近、ファイルのすべてのメタ情報を格納するためのMongoDBを含めました。これは、MongoDBが要件によりよく適合するためです。たとえば、写真にはExif情報が含まれている場合があり、動画には、メタ情報を保存するオーディオトラックが含まれている場合があります。ビデオとベクターグラフィックスは共通のメタ情報などを共有しないため、MongoDBはこの非構造化データを保存して検索可能に保つのに最適です。 ただし、プラットフォームの開発と機能の追加は継続しています。次のステップの1つは、ユーザーにフォーラムを提供することです。ここで発生する質問は、MySQLデータベースを使用することです。MySQLデータベースは、フォーラムやフォーラム投稿などを保存するのに適していますか、それともMongoDBを使用しますか? したがって、問題は、MongoDBをいつ使用し、RDBMSをいつ使用するかです。mongoDBまたはMySQLのどちらを選択しますか?
516 mysql  mongodb 

12
MySQLで正規表現を置き換える方法は?
50万行までのテーブルがあります。varchar(255)UTF8列filenameにはファイル名が含まれます。 私はファイル名からさまざまな奇妙な文字を取り除こうとしています-文字クラスを使用すると思いました: [^a-zA-Z0-9()_ .\-] さて、MySQLには正規表現で置換できる関数はありますか?REPLACE()関数と同様の機能を探しています-次の簡単な例: SELECT REPLACE('stackowerflow', 'ower', 'over'); Output: "stackoverflow" /* does something like this exist? */ SELECT X_REG_REPLACE('Stackoverflow','/[A-Zf]/','-'); Output: "-tackover-low" 私が知っているREGEXP / RLIKEが、それらはチェックしている場合ではなく、一致するものが何試合があります。 (PHPスクリプトから" "を実行し、次に " "を実行することもできますが、それは最後の手段である遅い醜いハックのように見えます)SELECT pkey_id,filename FROM foo WHERE filename RLIKE '[^a-zA-Z0-9()_ .\-]'preg_replaceUPDATE foo ... WHERE pkey_id=...
516 mysql  regex  mysql-udf 

13
MySQLの結合で削除
これが、テーブルを作成するスクリプトです。 CREATE TABLE clients ( client_i INT(11), PRIMARY KEY (client_id) ); CREATE TABLE projects ( project_id INT(11) UNSIGNED, client_id INT(11) UNSIGNED, PRIMARY KEY (project_id) ); CREATE TABLE posts ( post_id INT(11) UNSIGNED, project_id INT(11) UNSIGNED, PRIMARY KEY (post_id) ); PHPコードで、クライアントを削除するときに、すべてのプロジェクトの投稿を削除したいと思います。 DELETE FROM posts INNER JOIN projects ON projects.project_id = posts.project_id …
501 mysql 

4
MySQL:@変数と変数。違いは何ですか?
別の質問で私が投稿した誰かが私には次のような違いがあると言った: @variable そして: variable MySQLで。また、MSSQLにバッチスコープがあり、MySQLにセッションスコープがあることについても言及しました。誰かが私のためにこれについて詳しく説明できますか?
501 mysql  sql  variables 

11
MySQL-SELECTクエリに基づくUPDATEクエリ
(同じテーブルから)日時に基づいて2つのイベントの間に関連付けがあるかどうかを確認する必要があります。 1つのデータセットには特定のイベントの終了日時が含まれ、他のデータセットには他のイベントの開始日時が含まれます。 最初のイベントが2番目のイベントの前に完了する場合、それらをリンクしたいと思います。 これまでのところ、 SELECT name as name_A, date-time as end_DTS, id as id_A FROM tableA WHERE criteria = 1 SELECT name as name_B, date-time as start_DTS, id as id_B FROM tableA WHERE criteria = 2 次に、それらに参加します。 SELECT name_A, name_B, id_A, id_B, if(start_DTS > end_DTS,'VALID','') as validation_check FROM tableA LEFT …
501 mysql  select  sql-update 

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