• 締切済み

データーベースについて

SQLの操作についての問題について 今、データーベースについて勉強中なのですが何度やっても文法エラーなり困っております。 わかります方、アドバイスください。 自分で考えてやったのが INSERT INTO History(h_aid,tdate,delta) VALUES('B0010','2008-11-11-9:00:00',10000); UPDATE Accounts SET abalance=10000 WHERE aid='B0010'; わかりにくいのですがここからが問題です。 2つの表「History」と「Accounts」に次の操作を行いなさい。 ・「History」表の,h_aid へ B0010,tdate へ 2008-11-11 9:00:00,delta へ -10000 を入力 ・「Accounts」表の,aid が B0010 の行の abalance を 10000 へ更新 ▼Accounts aid char(5) (主キー) owner varchar(30) (NULL不可) abalance INTEGER A0010 Alexander 15000 B0010 Caesar 20000 C0010 Maximilian 30000 ▼History h_aid char(5) (主キー) tdate TIMESTAMP (主キー) delta INTEGER A0010 2008-11-10 14:00:00 5000 本当に困っていまして、わかります方アドバイスよろしくお願いいたします。

みんなの回答

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

命題の通りやって特にエラーにならないようですが (1)Accounts //準備 create table Accounts(aid char(5),owner varchar(30) not null primary key,abalance int); insert into Accounts values('A0010','Alexander',15000),('B0010','Caesar',20000),('C0010','Maximilian',30000); //処理 UPDATE Accounts SET abalance=10000 WHERE aid='B0010'; (2)History //準備 create table History(h_aid char(5),tdate TIMESTAMP,delta INT,primary key(tdate,delta)); insert into History values('A0010','2008-11-10 14:00:00',5000); //処理 INSERT INTO History(h_aid,tdate,delta) VALUES('B0010','2008-11-11 9:00:00',10000);

  • neko1963
  • ベストアンサー率49% (127/258)
回答No.1

細かい点ですが、'2008-11-11-9:00:00' で日付と時刻の間にある "-" は不要では無いですか? ※質問欄への入力ミスでしょうか。 ■6.2.2.2. DATETIME、DATE、TIMESTAMP 型 http://dev.mysql.com/doc/refman/4.1/ja/datetime.html

関連するQ&A