| |||||||
adm | Find | login register |
Postgresql 中 CREATE TABLE tt ( kkk serial PRIMARY KEY, ); 會自動產生 sequence public | tt_kkk_seq | sequence
因此如果 insert 時沒有設定 kkk 的 value,會自動產生 sequence 填入 有時候我們想先抓 sequence 再 insert,因為我們還有其他的 table 也有 kkk 這個 column,也要填入一個 row。 這時候可以用 SELECT nextval('tt_kkk_seq') 產生 sequence。INSERT INTO tt 就必須 assign kkk。
MySQL 中是這樣弄 CREATE TABLE tt ( kkk MEDIUMINT NOT NULL AUTO_INCREMENT, ); You can retrieve the most recent AUTO_INCREMENT value with the LAST_INSERT_ID() SQL function or the mysql_insert_id() C API function. These functions are connection-specific, so their return values are not affected by another connection which is also performing inserts.
Postgresql 的做法比較有彈性,可以先抓 sequence 再 insert,這對 programming 的 flow 規劃有很大的幫助。 | |||||||||||
最近玩一下 MySQL 的 windows MySQL DB server + windows MySQL ODBC driver。發現 ODBC driver 不支援
這樣就沒辦法直接用 ODBC initialize database,不太方便。 Postgresql 就都沒問題,可以用 windows ODBC initialize database。 edited: 2
|
| |||||||
adm | Find | login register |