• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブルが作成できない)

テーブルが作成できないエラーについて

このQ&Aのポイント
  • MySQL 5.0.77でCREATE TABLE文を実行する際にエラーが発生しました。
  • エラーメッセージは「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 'regis_date TIMESTAMP, update_date )' at line 3」と表示されました。
  • このエラーが発生する原因は不正なSQL構文ですが、具体的にはどこが間違っているのかは分かりませんでした。

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

  • ベストアンサー
回答No.4

提示されたcreate table文は、実際に使っているものでしょうか? 当方、MySQL 5.1を使っていますが、MySQL 5.0でも使用できない構文を多数使っているように見受けられます。 create table文そのものの話より、どういうデータを管理したいか、どういう操作をしたいかを提示して、アドバイスをもらった方がいいように思います。 次の項目は、MySQL 5.0でも指定できないはず (1)text型には、default句を指定できない (2)varcharの長さの省略はできない timestamp型は、MySQL独自の動作をすることは、他の回答者さんからも指摘済み。timestamp型を複数定義していると、最初のtimestamp型が自動更新されるなど、いろいろな独自の動作をします。 MySQLの内部仕様をいろいろ探るより、どういうデータを持ち、どういう操作をしたいのかを提示し、アドバイスをもらった方が意味があると思います。 >d INT DEFAULT 0 primary key こんなdefaultの設定も、普通はしないでしょう。

その他の回答 (3)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.3

>TIMESTAMPは1テーブルの中に1つしか設定できませんよ 自分もどこかでそんな内容のコメントを見た気がするのですが、 リファレンスに、(5.0は日本語のが見あたらない・・) http://dev.mysql.com/doc/refman/5.0/en/timestamp.html >CREATE TABLE t ( > ts1 TIMESTAMP DEFAULT 0, > ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP > ON UPDATE CURRENT_TIMESTAMP); という例があるので、問題ないのではないかと思います。 DEFAULT CURRENT_TIMESTAMP を2項目以上に指定することはできないっぽいです。 で、質問のSQLのどこが問題なのかは・・ちょっと分かりません。すみません。

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

TIMESTAMPは1テーブルの中に1つしか設定できませんよ (2つ設定しても同じデータが格納されるので意味がないから?)

  • ponta34
  • ベストアンサー率25% (10/40)
回答No.1

VARCHAR にサイズがありません VARCHAR (255)なりなんなりのサイズをいれると 作成できると思います。