[前][次][番号順一覧][スレッド一覧]

mysql:3306

From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Wed, 21 Feb 2001 01:48:59 +0900
Subject: [mysql 03306] Re: データベース内で一意の ID について

とみたです。

On Tue, 20 Feb 2001 22:09:44 +0900
"Nobuhiro Shimura" <tsumiki@xxxxxxxxxx> wrote:

> OracelでのROWID,PostgreSQLでのOIDのように、
> データベース(or テーブル)内で一意となるようなレコード毎の
> IDというのはMySQLでは存在するのでしょうか。

何もしなければ存在しません。自前で PRIMARY KEY とか UNIQUE の
フィールドを作って、それを使用する必要があります。

> 又、存在するとしたらどのようにしたら取得することが
> できるのでしょうか。

PRIMARY KEY や UNIQUE のフィールドを INT NOT NULL で作っておけば
_rowid としても参照することができるようです。
# mSQL との互換のため?

↓こんな感じ

	mysql> create table test (id int not null primary key, str char(10));
	Query OK, 0 rows affected (0.00 sec)
	
	mysql> insert into test values (1, "foo"), (2, "bar");
	Query OK, 2 rows affected (0.00 sec)
	Records: 2  Duplicates: 0  Warnings: 0
	
	mysql> select _rowid from test;
	+--------+
	| _rowid |
	+--------+
	|      1 |
	|      2 |
	+--------+
	2 rows in set (0.00 sec)
	
	mysql> select * from test where _rowid=2;
	+----+------+
	| id | str  |
	+----+------+
	|  2 | bar  |
	+----+------+
	1 row in set (0.00 sec)
	
	mysql> 

--
とみたまさひろ <tommy@xxxxxxxxxx>
日本MySQLユーザ会 http://www.mysql.gr.jp

[前][次][番号順一覧][スレッド一覧]

      3305 2001-02-20 22:09 ["Nobuhiro Shimura" <] データベース内で一意の ID について      
->    3306 2001-02-21 01:48 ┗[とみたまさひろ <tomm]                                       
      3307 2001-02-21 16:08  ┗["Tsumiki Software" <]