私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレMySQL 総合 Part18
mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
データベース設計について相談させてください。
クーポンサイトの情報をWebapiから取得して、DBに登録したユーザーごとの
条件にマッチすればメールでお知らせするプログラムを作っています。
現在、 usersモデル、 alertkeywordsモデルと二つあります。
一人のuserは複数のアラートキーワードを作成できます。
この時、 ”同じクーポンを重複して同じメールアドレスに送らないようにしたいです。”
WebAPIからそれぞれのクーポンのIDが取得できるので、
新たに couponsモデルを作成し、 couponID、date、email、と3つのテーブルを作成。
アラートメールを送信したクーポンのidはcouponsモデルにデータを保存する。
毎回アラートメールを送信する前に、このモデルで以前にメールを送信したかどうか
チェックするというやり方を考えたのですが、これよりもっと綺麗なやり方は
あるでしょうか?
(わかりにくくて申し訳ありません。指定していただければ説明を追加いたします。)
クーポンサイトの情報をWebapiから取得して、DBに登録したユーザーごとの
条件にマッチすればメールでお知らせするプログラムを作っています。
現在、 usersモデル、 alertkeywordsモデルと二つあります。
一人のuserは複数のアラートキーワードを作成できます。
この時、 ”同じクーポンを重複して同じメールアドレスに送らないようにしたいです。”
WebAPIからそれぞれのクーポンのIDが取得できるので、
新たに couponsモデルを作成し、 couponID、date、email、と3つのテーブルを作成。
アラートメールを送信したクーポンのidはcouponsモデルにデータを保存する。
毎回アラートメールを送信する前に、このモデルで以前にメールを送信したかどうか
チェックするというやり方を考えたのですが、これよりもっと綺麗なやり方は
あるでしょうか?
(わかりにくくて申し訳ありません。指定していただければ説明を追加いたします。)
「mysql_insertid」って、auto_incrementなカラムじゃなくても使えるのでしょうか。
ソーシャルゲームのためのMySQL入門
http://engineer.dena.jp/2010/11/mysql-for-socialgame.html
というページに
## sql
CREATE TABLE `seq_log` (
`id` bigint(20) unsigned NOT NULL
) ENGINE=MyISAM
INSERT INTO seq_log VALUES (0);
## perl
my $sth = $dbh->prepare_cached("update seq_log set id=LAST_INSERT_ID(id+1)");
$sth->execute();
return($dbh->{'mysql_insertid'});
というコードがあったのですが、auto_incrementじゃないカラムに対してmysql_insert_idを使っているように見えます。
ソーシャルゲームのためのMySQL入門
http://engineer.dena.jp/2010/11/mysql-for-socialgame.html
というページに
## sql
CREATE TABLE `seq_log` (
`id` bigint(20) unsigned NOT NULL
) ENGINE=MyISAM
INSERT INTO seq_log VALUES (0);
## perl
my $sth = $dbh->prepare_cached("update seq_log set id=LAST_INSERT_ID(id+1)");
$sth->execute();
return($dbh->{'mysql_insertid'});
というコードがあったのですが、auto_incrementじゃないカラムに対してmysql_insert_idを使っているように見えます。
>>707
ありがとうございます。ぜんぶドキュメントに書いてあるんですね。出直してきます。
ありがとうございます。ぜんぶドキュメントに書いてあるんですね。出直してきます。
600001,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
600002,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,1,1,1
600003,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
600004,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
上記のようなCSVファイルを作成し、インポートを行いました。
すると、2番目以降のレコードは正常にインポートされて、selectでも検索出来るようになるのですが、
1番目のレコードはインポートされません。インポート結果も「Records: 3 Deleted: 0 Skipped: 0 Warnings: 0」となっており、
そもそも1番目にデータがある事を認識出来ていないようです。
これにはどのような原因が考えられるでしょうか?
宜しくご教示下さい。お願いします。
600002,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,1,1,1
600003,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
600004,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
上記のようなCSVファイルを作成し、インポートを行いました。
すると、2番目以降のレコードは正常にインポートされて、selectでも検索出来るようになるのですが、
1番目のレコードはインポートされません。インポート結果も「Records: 3 Deleted: 0 Skipped: 0 Warnings: 0」となっており、
そもそも1番目にデータがある事を認識出来ていないようです。
これにはどのような原因が考えられるでしょうか?
宜しくご教示下さい。お願いします。
プログラム上から、もしくは専用のGUIツールからならわかるが
phpmyadminからトランザクションはれるってあんまりイメージ沸かないな、
できないんじゃね?知らないけど。調べれ。
phpmyadminからトランザクションはれるってあんまりイメージ沸かないな、
できないんじゃね?知らないけど。調べれ。
varchar型で1万文字以上格納できるようなんですが、
text型と使い分ける目安はどの程度なんでしょうか?
varcharに入るなら全部varcharに入れてしまった方がいいんでしょうか?
入力される値は0文字から4000文字程度と仮定。
MySQL-5.1.37でInnoDB使用。
text型と使い分ける目安はどの程度なんでしょうか?
varcharに入るなら全部varcharに入れてしまった方がいいんでしょうか?
入力される値は0文字から4000文字程度と仮定。
MySQL-5.1.37でInnoDB使用。
>>719
どういうミスだったの?
どういうミスだったの?
>>718
http://dev.mysql.com/doc/refman/4.1/ja/blob.html
ほとんどの面において、TEXT 型のカラムは、任意の長さに設定できる VARCHAR 型の
カラムとみなすことができます。同様に、BLOB 型のカラムについては、VARCHAR BINARY
型のカラムとみなすことができます。相違点は以下のとおりです。
*MySQL バージョン 3.23.2 以降では、BLOB 型と TEXT 型のカラムには、インデックスを
付けることができる。それより前の MySQL バージョンでは、インデックスはサポートしていない。
*VARCHAR 型のカラムでは値の格納時に後続のスペースが削除されるが、
BLOB 型と TEXT 型のカラムではこの削除は行われない。
*BLOB 型と TEXT 型のカラムには、DEFAULT 値は設定できない。
http://dev.mysql.com/doc/refman/4.1/ja/blob.html
ほとんどの面において、TEXT 型のカラムは、任意の長さに設定できる VARCHAR 型の
カラムとみなすことができます。同様に、BLOB 型のカラムについては、VARCHAR BINARY
型のカラムとみなすことができます。相違点は以下のとおりです。
*MySQL バージョン 3.23.2 以降では、BLOB 型と TEXT 型のカラムには、インデックスを
付けることができる。それより前の MySQL バージョンでは、インデックスはサポートしていない。
*VARCHAR 型のカラムでは値の格納時に後続のスペースが削除されるが、
BLOB 型と TEXT 型のカラムではこの削除は行われない。
*BLOB 型と TEXT 型のカラムには、DEFAULT 値は設定できない。
>>722
php mysql トランザクション でぐぐって
http://redwarcueid.seesaa.net/article/140085587.html
というのが出てきたんで見ると
最後にトランザクションをはじめる準備というところはautocommitが1の場合は
トランザクション中でも関係なくクエリが成功するとその場で
コミットしてしまうので0にしてトランザクションを始めましょう
注意しましょう
とかってあるけど、そこらへんはどうなの?
php mysql トランザクション でぐぐって
http://redwarcueid.seesaa.net/article/140085587.html
というのが出てきたんで見ると
最後にトランザクションをはじめる準備というところはautocommitが1の場合は
トランザクション中でも関係なくクエリが成功するとその場で
コミットしてしまうので0にしてトランザクションを始めましょう
注意しましょう
とかってあるけど、そこらへんはどうなの?
質問です。MySQL5以降で、
A
| user_id | boolean |
---------------------
| 1 | 0 |
| 2 | 1 |
| 3 | 1 |
B
| user_id | boolean |
---------------------
| 2 | 0 |
| 3 | 1 |
U
| user_id | name |
------------------
| 1 | aaaa |
| 2 | bbbb |
| 3 | cccc |
というA,B,Uというテーブルがあるときに、
下記のようなデータを取得することは可能でしょうか?
| name | A.boolean | B.boolean |
--------------------------------
| aaaa | 0 | null |
| bbbb | 1 | null |
| cccc | 1 | null |
| bbbb | null | 0 |
| cccb | null | 1 |
A
| user_id | boolean |
---------------------
| 1 | 0 |
| 2 | 1 |
| 3 | 1 |
B
| user_id | boolean |
---------------------
| 2 | 0 |
| 3 | 1 |
U
| user_id | name |
------------------
| 1 | aaaa |
| 2 | bbbb |
| 3 | cccc |
というA,B,Uというテーブルがあるときに、
下記のようなデータを取得することは可能でしょうか?
| name | A.boolean | B.boolean |
--------------------------------
| aaaa | 0 | null |
| bbbb | 1 | null |
| cccc | 1 | null |
| bbbb | null | 0 |
| cccb | null | 1 |
ずっと前に、メールアドレスはREVERSEで反転して登録すると、
インデックスとして使うときにいいって記事読んだ覚えがあるんですが、
ソースが見あたりません。
このテクニックについて参照できる記事をご存じのかたや、
またご意見があるかたはお聞かせいただけないでしょうか。
インデックスとして使うときにいいって記事読んだ覚えがあるんですが、
ソースが見あたりません。
このテクニックについて参照できる記事をご存じのかたや、
またご意見があるかたはお聞かせいただけないでしょうか。
あまりに初歩的な質問で悪いんですけどデータベースの初期化って
mysql_install_db ですよね?
OSはCentOSなんですけど、一度yum remove (ryでアンインストールした後、もう一度入れても初期化されてくて
上のをやってみても初期化されてないのですけど、初期化のやり方間違ってますか?
mysql_install_db ですよね?
OSはCentOSなんですけど、一度yum remove (ryでアンインストールした後、もう一度入れても初期化されてくて
上のをやってみても初期化されてないのですけど、初期化のやり方間違ってますか?
>>735
既存のデータベース/テーブルが存在する場合は、一切それらに手をつけない
旨公式のリファレンスに書いてあるハズだが・・・。
yum で removeっても、/var/lib/mysql 下はクリアされないハズなので、
rm -rf で一旦消しましょう。
(もちろん、以前に作成したユーザーや権限は全て失われるので、
失いたくなければ他所にコピーするなりする)
既存のデータベース/テーブルが存在する場合は、一切それらに手をつけない
旨公式のリファレンスに書いてあるハズだが・・・。
yum で removeっても、/var/lib/mysql 下はクリアされないハズなので、
rm -rf で一旦消しましょう。
(もちろん、以前に作成したユーザーや権限は全て失われるので、
失いたくなければ他所にコピーするなりする)
Macの各アプリなんかの環境変数(?)は開発者サイトのホスト名を逆にしたようなものをキーにしてるのは、同じようなもんなのかな?
defaults write com.apple.xxxx true
みたいな。
defaults write com.apple.xxxx true
みたいな。
データベースの管理に、MySQL GUI Tools を導入したんですが
セットの MySQL Queru Browser ではテーブル内の日本語データが
文字化けしてしまいます。
出来ればこの純正SETを使いたいので、日本語対応させたいのですが
何か方法はありますか?
セットの MySQL Queru Browser ではテーブル内の日本語データが
文字化けしてしまいます。
出来ればこの純正SETを使いたいので、日本語対応させたいのですが
何か方法はありますか?
innoDBでINSERT IGNOREやINSERT ON DUPLICATE KEY UPDATEをしたとき、
行が増えていないのにオートインクリメントが繰り上がってまう。
すぐIDがパンクするんだけどこれって何とかならないかな。
行が増えていないのにオートインクリメントが繰り上がってまう。
すぐIDがパンクするんだけどこれって何とかならないかな。
正直使いやすいとはあまり思わないし、重いのだけど
単なるクエリ実行から、GUIでテーブル作成/変更したり
ユーザーの管理もできるようになってる
utf8でしか使ってないけど、日本語も問題なさげ。
最近MySQLを使うようになったから
クエリブラウザと比べてどうというのはわからん
単なるクエリ実行から、GUIでテーブル作成/変更したり
ユーザーの管理もできるようになってる
utf8でしか使ってないけど、日本語も問題なさげ。
最近MySQLを使うようになったから
クエリブラウザと比べてどうというのはわからん
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- MySQL 総合 Part12 (1001) - [94%] - 2008/1/30 17:34 ○
- MySQL 総合 Part13 (996) - [94%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part14 (1001) - [94%] - 2008/11/23 10:17 ☆
- MySQL 総合 Part15 (1001) - [94%] - 2009/4/20 12:15 ☆
- MySQL 総合 Part17 (1001) - [94%] - 2010/6/10 20:47 ○
- MySQL 総合 Part19 (982) - [94%] - 2011/6/9 2:33
- MySQL 総合 Part26 (860) - [89%] - 2023/2/2 9:30
- MySQL 総合 Part20 (995) - [89%] - 2011/10/17 4:48
- MySQL 総合 Part21 (1001) - [89%] - 2011/12/25 22:16
- MySQL 総合 Part22 (1001) - [89%] - 2012/7/10 16:45
- MySQL 総合 Part23 (992) - [89%] - 2013/8/11 17:00
- MySQL 総合 Part24 (1010) - [89%] - 2015/2/14 4:46
- MySQL 総合 Part25 (947) - [89%] - 2017/6/18 6:30
- MySQL vs PostgreSQL Part2 (941) - [31%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について