
http://okwave.jp/qa2956072.html
上で同じような質問を過去にしましたが、状況がちょっと違うようでしたので再度質問させてください。
列の型をserialで指定しテーブルを作りました。
入力を省略したところPermission Deniedのエラーが出ました。
前回の質問では権限が異なるIDでINSERTしようとしたのでは?と回答をいただきましたが、状況がちょっと違っていたようです。
$sth = $dbh->do("insert into $table (filepath,filename,filesize,confirmdate,upload,filenumber) values ('$list[$count]->[0]','$list[$count]->[1]','$list[$count]->[2]','$today','$today','12')");
と入力すると12という番号でINSERTできます。
$sth = $dbh->do("insert into $table (filepath,filename,filesize,confirmdate,upload) values ('$list[$count]->[0]','$list[$count]->[1]','$list[$count]->[2]','$today','$today')");
しかし上記のように省略するとエラーが出ます。
本にも省略した場合自動的に番号が割り振られるとありますが、具体的にどう省略したらよいのでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
>しかし上記のように省略するとエラーが出ます。
具体的には、どういうエラーですか?
下記の例のように、serial指定列を省略して、格納可能です。
<定義例>
create table t1
(c1 serial,
c2 int);
<格納例>
insert into t1(c2) values(100);
明示的にnextvalで指定する場合は、連番型につけられた名前を指定する必要があります。この名前は、「表名_列名_seq」という名前になります。
上記の例では、次のようなSQLで格納できます。
<格納例2>
insert into t1 values(nextval('t1_c1_seq'),200);
参考URL:http://www.postgresql.jp/document/pg800doc/html/ …
ありがとうございます。
シーケンス名を入れなくてはいけなかったんですね。
そこがよくわかっていませんでした。
おかげで解決いたしました。
ありがとうございました。
No.1
- 回答日時:
]->[2]','$today','$today','12')");
の12の部分に値を入れる必要があるので、「次の値」nextvalueを記述。
(Oracleも同じ)。
「PostgreSQL SERIAL NEXTVALUE」をキーワードに検索してみてください。
ありがとうございます。
検索してみましたところ、
INSERT INTO distributors VALUES (nextval('serial'), 'nothing');
という使用例がありましたので、
12の代わりにnextval('serial')といれてみましたがエラーがでました。
他にもnextval('')とかnextvalとかnextval('?')とかもいれてみたんですが、全部エラーになってしまいました。
nextvalueともいれてみましたが同じくエラーになりました。
正確な構文ってどう書けばいいのでしょうか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
timestampのデータはどのように...
-
エクセルvbaでpostgresに接続を...
-
truncate tableを使って複数の...
-
オラクルのUPDATEで複数テーブル
-
MySQL: 複数テーブルのcount
-
sqlに記述できない文字
-
SELECT INTOで一度に複数の変数...
-
認知心理学で言うスクリプトとは?
-
結合したテーブルをSUMしたい
-
SELECT文の結果をDEFINEの値と...
-
テキストボックスの背景をVB...
-
PostgreSQLのtimestamp型で時間...
-
カラムサイズの取得
-
【SQL】他テーブルに含まれる値...
-
複数の条件に該当する結果を、...
-
Talend Open Studio について
-
SELECT の仕方 (今月のデー...
-
SQLの「句」とはなんですか
-
フラグをたてるってどういうこ...
-
副問合せを使わずにUNIONと同様...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
timestampのデータはどのように...
-
エクセルvbaでpostgresに接続を...
-
SQLServer からのデータ移行(v...
-
insert処理でDATE型を追加したい
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
フラグをたてるってどういうこ...
-
sqlに記述できない文字
-
truncate tableを使って複数の...
-
UPDATEで既存のレコードに文字...
-
PostgreSQLのtimestamp型で時間...
-
オラクルのUPDATEで複数テーブル
-
既存データをINSERT文にして出...
-
エラーを起こす方法
-
SQLで、Join句で結合したテ...
-
Accessの構成をコピーしたい
-
SQLサーバに対するSQL文で抽出...
-
UPDATEの更新前の値を取得したい
-
JDBCを使ってdate型へのINSERT...
-
テーブル名が可変の場合のクエ...
おすすめ情報