• ベストアンサー

MySQLについて

MySQL 初心者です。 テーブルを作成して、いろいろとデータを入れ込もうと思うのですが、 CURRENT_TIMESTAMP を指定すれば、データを入れた瞬間にその時の日付が登録されると思うのですが、 それとは別に勝手に連番をつけていくような機能はないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>別に勝手に連番 注意する必要があるのはauto_incrementは必ずしも連番を保証する機能ではないこと あくまでも他のレコードと異なることを保証するためだけのものなので 抜け番や飛び番が発生することを理解する必要があります 抜け番が発生しないようにするためにはかなり負荷の高い無駄な処理が必要です どのような運用方法を想定しているかによります。

nakisan2011_12
質問者

お礼

回答ありがとうございます、飛び番号や抜け番号はあってもOKなので、そのまま利用しようと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

auto increment をint型のカラムにつけ、PrimaryIndexを使います。

nakisan2011_12
質問者

お礼

ありがとうございました。 問題なく利用できました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Mysql DATE型のDEFAULT値

    初心者ですが、よろしくお願いします。 Mysqlでテーブルを作成して、カラムにDATE型を指定するとDEFAULT値が設定できません、、、。 これはMysqlの仕様なのでしょうか? ちなみに、TIMESTAMP型だと、'DEFAULT CURRENT_TIMESTAMP'でDEFAULT設定できます、、。 -- クエリ CREATE TABLE test ( column_name DATE NOT NULL DEFAULT CURRENT_DATE ); >> エラー ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_DATE)' at line 1 Mysql::ABも調べたのですが、よく分かりませんでした。 よろしくお願いします。 MySQLバージョン 5.0.41

  • mySQLの抽出条件について

    いつもお世話になります。 mySQLの検索方法について教えて頂けたらと思います。 検索したい条件は現在より6ヶ月以前に登録されたレコードを抽出したいのです。 いろいろ調べてはみたのですが・・・ 環境 mySQL Ver.5.0 ID(INT)auto_increment|CONTENTS(TEXT)|登録日(timestamp)ON UPDATE CURRENT_TIMESTAMP| 1|あああああ|2007-06-03 10:44:24| 2|いいいいい|2008-06-02 10:44:24| ・・・ 上記のような構造になっており、例えば、6ヶ月以上前の登録日のデータを抽出したいのですが、いろいろ試してみたもののうまく抽出できません。どなたか知恵をお借りできたらと思いますので、よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • PHP MySQL epoch fromについて

    PHP5.1.6 MySQL5.5 PostgreSQLからMySQLへの移行作業を行っているのですが、以下のSQLをMySQL用に変換したいと思っています SELECT (case when (volume + floor(extract(epoch from (current_timestamp - check_time)) / 900)) < volume2 then (volume + floor(extract(epoch from (current_timestamp - check_time)) / 900)) else volume2 end) as volume FROM table MySQLにPostgreSQLのepoch fromに当たる関数はありませんでしょうか?

    • ベストアンサー
    • MySQL
  • PHPでMySQLを利用した予約カレンダー

    PHPでMySQLを利用した予約カレンダーを作成しなければならない課題なのですが、初心者同然の知識ではなかなか難しく、また、思うようなサンプルも見つからず、困っています…。 希望としては、カレンダー表示(うるう年計算や祝日情報を含む)で、データベースに予定が入っていなければ日付にリンク付けをし、枠内に○印を記載、そりてリンクからは予約項目入力ページに移動させるようにしたいと思っています。また、データベースに予定が入っていれば日付のリンク付けはなしで枠内に×印を表示して予約が出来ないようにしたいと考えています。 下記が予約状況を入れたMySQLテーブルです。 mysql> desc reserve; +--------------+-----------+----+---+-----------------+---------------------------+ |Field |Type |Null|Key|Default |Extra | +--------------+-----------+----+---+-----------------+---------------------------+ |会員ID |varchar(10)|NO |MUL|NULL | | |部屋NO |int(3) |NO |MUL|NULL | | |人数:大人 |int(3) |NO | |NULL | | |人数:子ども |int(3) |NO | |NULL | | |チェックイン |date |NO | |NULL | | |チェックアウト|date |NO | |NULL | | |宿泊プランNO |int(10) |NO |MUL|NULL | | |予約登録日 |timestamp |NO | |CURRENT_TIMESTAMP|on update CURRENT_TIMESTAMP| +--------------+-----------+----+---+-----------------+---------------------------+ 出来ればサンプルコード、もしくは希望のサンプルが乗ったURLなどをお教え頂きたく思います。 また、予約画面ではチェックアウト日選択(チェックイン日から1週間以内)や、人数を入力していただくテキストフィールドと宿泊プランの選択プルダウンをつけるつもりでいます。 すみませんがどなたかこの初心者に救いのお手をお貸しくださいませ。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • MySQLのtimestamp型について

    MySQLのtimestamp型で質問があるのですが、not nullの指定はできるのでしょうか? また、代入方法はPerlの場合、現在の日時をYYYYMMDDHHMMSS形式の文字列を簡単に作成したいのですが、どのような方法があるのでしょうか? あと、私は日付の場合はint(11)として、日付のシリアル値(1970年からの経過秒)をよく利用していました。理由は、後で足し引きなど計算しやすい為です。それで、日付型というものは使ったことがありません。 みなさんは、この日付関数利用する目的や必要性などありましたら、教えてください。

    • ベストアンサー
    • MySQL
  • MySQLのテーブル設計について

    PHPとMySQLを勉強中です。 データベースと連携させた「お気に入りのお店」を登録するような地図サイトを作ろうと思っているのですが、テーブル設計について疑問ですので、よろしければ教えてください。 ちなみにMySQLへ登録する項目は、 id(連番)、日付、ユーザーID、ユーザーパス、お店の名前、お店の住所、電話番号、HPアドレス、お店の写真 などを考えています。 1、効率のいいテーブルの設計とはどのようなものでしょう? 素人考えでは、一括で管理したほうがよさそうだと思うのです。 ですが、他の方のスクリプトをダウンロードして見てみると、ほとんどテーブルが分割されていることが多いです。 どのような意図なのでしょう?? 2、バイナリデータはbase64でテキストにしたほうがいいと本に書いてありましたが、テーブルも別にしたほうがいいのでしょうか? 3、このような内容について、詳しい本などがありましたらぜひ教えてください。負荷分散とかバックアップなどについても勉強しようと思っています。 結局は、どのような使われ方をするかで設計が変わってくるような気がしますが、何分、勉強し始めたばかりでよく分かっていません。。 お手すきのときに教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • [MYSQL]日付のカラムにデーターを自動入力するようにしたいのですが

    MYSQL初心者です。テーブルの中に登録日時とカラムを作成し、データー入力の作成日時が自動入力出来るようにしたいのですが、 いろいろやっても設定方法がわかりません。どなたか初心者に愛の手をお願い致します。

    • ベストアンサー
    • MySQL
  • [MYSQL]TIMESTAMPをWHERE句に指定しUPDATEする方法

    以下のようにテーブルを作成し、TIMESTAMP型のカラムをキーにUPDATEをしたいと考えています。 create table test(time timestamp, amount int); insert into test values('2008-01-07 19:15:12',0); update test set amount = -1 where time = '2008-01-07 19:15:12'; ところがMYSQLではUPDATE後、TIMESTAMPのカラムが2008年から2009年に変化します。ORACLEで試しましたが、TIMESTAMP型のカラムは変わりませんでした。 +---------------------+--------+ | time | amount | +---------------------+--------+ | 2009-06-30 10:04:53 | -1 | +---------------------+--------+ MYSQLの独自の仕様があるのでしょうか? MYSQL 5.1.35(mysql-essential-5.1.35-win32.msi) Windows 2003 Server Standard Edition R2 MYISAM

    • ベストアンサー
    • MySQL
  • MySQL テーブルのリレーションシップ

    初心者です。MySQL4.1です MySQLでテーブルを複数作成したのですが リレーションを組むのを忘れてまして 後からリレーションを組みたいのです。 alter tableをどう使えばいいんですか?

  • PHP+mysql データ重複登録

    ◆PHPバージョン 5.3.3 ◆mysqlバージョン 4.1.22 ◆テーブル情報 `no` int(11) NOT NULL auto_increment, `name` text NOT NULL, `mail` text NOT NULL, `memo` text NOT NULL, `updating` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`no`) ENGINE=MyISAM DEFAULT CHARSET=utf8 ◆SQL (1)insert into test(name, mail, memo) values ('abc','abc@test.com','abc') (2)insert test set name='abc', mail='abc@test.com', memo='abc' ◆処理概要 $conn = mysql_connect(ホスト、ユーザ、パスワード); mysql_query("set names utf8"); $rs = mysql_select_db(DB名, $conn); $result = mysql_query(SQL, $conn); ◆登録情報 (1, 'abc', 'abc@test.com', 'abc', '2011-09-02 16:28:57'), (2, '', '', '', '2011-09-02 16:28:57'), 【問題】 上記SQL(1)、(2)どちらでDBに登録しても、登録情報のように同時に空データも同時に登録されてしまう 全く原因の検討がつかないので、何か手がかりがありましたらご教授頂けたらと思います。 どうぞよろしくお願いします。

    • ベストアンサー
    • MySQL
このQ&Aのポイント
  • Windows11でのMFCJ855DWNの使用可否について相談します。
  • 現在、Windows11に買い替えたがMFCJ855DWNが使用できるかどうかに困っています。
  • MFCJ855DWNの接続方法や関連するソフト・アプリ、電話回線の種類などについて教えてください。
回答を見る