INSERT INTO table [ ( column [, ...] ) ]
創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營銷推廣,申請域名,雅安服務(wù)器托管,網(wǎng)站托管、服務(wù)器租用有關(guān)企業(yè)網(wǎng)站制作方案、改版、費用等問題,請聯(lián)系創(chuàng)新互聯(lián)公司。
{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }
[ RETURNING * | output_expression [ AS output_name ] [, ...] ]
注意values 和subquery的位置
將你的語句替換如下試下:
insert into table_name(column1,column2,column3) select column4, column5, column6 from table_name2 where...
postgreSQL是一款先進的開源數(shù)據(jù)庫,擁有非常齊全的自由軟件的對象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),可面向企業(yè)復(fù)雜SQL的OLTP業(yè)務(wù)場景,支持多項企業(yè)級功能,能解決使用數(shù)據(jù)庫的各種難題。
PostgreSQL的優(yōu)勢有很多。它是一個免費的對象-關(guān)系數(shù)據(jù)庫服務(wù)器(ORDBMS),在靈活的BSD許可證下發(fā)行。
postgreSQL的特征
函數(shù):通過函數(shù),可以在數(shù)據(jù)庫服務(wù)器端執(zhí)行指令程序。
索引:用戶可以自定義索引方法,或使用內(nèi)置的 B 樹,哈希表與 GiST 索引。
觸發(fā)器:觸發(fā)器是由SQL語句查詢所觸發(fā)的事件。如:一個INSERT語句可能觸發(fā)一個檢查數(shù)據(jù)完整性的觸發(fā)器。觸發(fā)器通常由INSERT或UPDATE語句觸發(fā)。 多版本并發(fā)控制:PostgreSQL使用多版本并發(fā)控制(MVCC,Multiversion concurrency control)系統(tǒng)進行并發(fā)控制,該系統(tǒng)向每個用戶提供了一個數(shù)據(jù)庫的"快照",用戶在事務(wù)內(nèi)所作的每個修改,對于其他的用戶都不可見,直到該事務(wù)成功提交。
規(guī)則:規(guī)則(RULE)允許一個查詢能被重寫,通常用來實現(xiàn)對視圖(VIEW)的操作,如插入(INSERT)、更新(UPDATE)、刪除(DELETE)。
數(shù)據(jù)類型:包括文本、任意精度的數(shù)值數(shù)組、JSON 數(shù)據(jù)、枚舉類型、XML 數(shù)據(jù)等。全文檢索:通過 Tsearch2 或 OpenFTS,8.3版本中內(nèi)嵌 Tsearch2。
NoSQL:JSON,JSONB,XML,HStore 原生支持,至 NoSQL 數(shù)據(jù)庫的外部數(shù)據(jù)包裝器。
數(shù)據(jù)倉庫:能平滑遷移至同屬postgreSQL生態(tài)的GreenPlum,DeepGreen,HAWK 等,使用 FDW 進行 ETL。
首先數(shù)據(jù)表中要有一個子增長的字段。字段類型設(shè)置成:
然后,在該字段的屬性里邊會有一個序列:
繼續(xù),通常我們都這樣來插入數(shù)據(jù):
query("insert into ......");
緊接著執(zhí)行這樣的sql,就會得到剛才插入的id值
result =?query("select currval('address_address_id_seq')"); // 加粗部分就是上邊紅框內(nèi)的序列
這次查詢返回的結(jié)果一般是這樣的:
我們需要的部分也主要是紅框內(nèi)的數(shù)據(jù),這樣我們想要的結(jié)果就出來了。
你運行這句呢
INSERT?INTO?user_info(user_id,?role_id,?user_phone,?user_password,?user_account,?user_name,?user_email,?user_position,?user_major)VALUES?('92fe949d564c4fa3ae2a90c2bb67949c',?'906e8f14a8a448ab8b3eab5e7add2381',?'18535647825',?'lisi',?'lisi',?'李四',?'lisi185@qq.com',?null,?null);
不能用雙引號(“”),改成('')單引號就好了。
樓主若覺得回答有所幫助,望采納,謝謝!
使用postgresql的returning語句。
insert into ... returning id;可以返回剛插入數(shù)據(jù)的id
一、 在postgresql的安裝文件夾\8.3\data\pg_hba.conf里面(或者在開始菜單程序下面的postgresql的配置文檔) 找到“# IPv4 local connections:”(不包括引號,下同) 在它上面添加“l(fā)ocal pgsql all trust”, 在它下面的“host all all 127.0.0.1/.