プロが教える店舗&オフィスのセキュリティ対策術

現在ECサイトに追加カスタマイズ機能を導入したいと考えているのですが、
その際の使用コードが以下のようにPostgreSQLの記載となっており、
使用しているphpMyAdminにてSQLコードを入力するとエラーとなってしまいます。

↓PostgreSQLコード

CREATE TABLE dtb_bookmark (
bookmark_id serial NOT NULL,
customer_id integer NOT NULL,
product_id integer NOT NULL,
memo text,
create_date timestamp without time zone NOT NULL,
update_date timestamp without time zone NOT NULL,
del_flg integer
);
ALTER TABLE ONLY dtb_bookmark
ADD CONSTRAINT dtb_bookmark_pkey PRIMARY KEY (bookmark_id);
COMMENT ON TABLE dtb_bookmark IS 'お気に入り情報';


エラーはtimestamp型とALTER以降の文で発生致します。
mysql文にて解釈させるにはどのように変更したらよろしいのでしょうか?
使用mysqlバージョンはMySQL 4.1.21です。

アドバイスなど頂けましたら幸いです。
よろしくお願い致します。

A 回答 (1件)

ここは、自分の代わりに誰かに調べてもらったり、何かを作ってもらうサイトではありません。

自分なりに調べた内容を示し、具体的に分からない部分を示すことがルールです。もし、誰かに調べてもらったりといったことをお望みなら、はてなの人力検索などを利用しましょう。

とはいいつつ、すぐに分かったところは次のようなところです。
serial型に関しては、PostgreSQLの独自機能なので、他RDBMSに変更する場合は、DDL(定義)だけでなくDML(操作)も修正が入る可能性が高い思います。

(1)データ型のserialは、PostgreSQLの独自機能
 →MySQLでは、auto_incrementという似た機能がある。
  insertなどでnextvalといったserial型の独自関数を使っている場合は、それもPostgreSQLの独自機能なので、MySQLでは使えない

(2)without time zoneは、PostgreSQLの独自機能

(3)ALTER TABLEのONLYも、PostgreSQLの独自機能

(4)COMMENT文は、MySQLでは未実装。
create tableに、comment句があり、それで代用できる。
    • good
    • 0
この回答へのお礼

>chukenkenkou様

利用規約等確認せずに焦って投稿してしまいました。
頂いたアドバイスを元に、自分なりにmysqlを勉強したいと思います。

ご迷惑お掛けしました。

お礼日時:2009/04/01 16:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!