日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MySQL數(shù)據(jù)庫TIMESTAMP設(shè)置默認(rèn)值的幾個應(yīng)用實例

之前我們介紹了:MySQL數(shù)據(jù)庫TIMESTAMP設(shè)置默認(rèn)值的靈活運用,本次我們接著上次的內(nèi)容介紹幾個MySQL數(shù)據(jù)庫TIMESTAMP設(shè)置默認(rèn)值的幾個應(yīng)用實例,希望能夠?qū)δ兴鶐椭?/p>

#1查看表定義,可以看到b列有個屬性O(shè)N UPDATE CURRENT_TIMESTAMP,導(dǎo)致更新數(shù)據(jù)時,即便未涉及到該列,該列數(shù)據(jù)也被自動更新。另一方面,c列默認(rèn)值是'0000-00-00 00:00:00',實際插入已經(jīng)被自動賦值為current_timestamp。

 
 
 
  1. root@localhost:test >show create table dj1\G  
  2. *************************** 1. row ***************************  
  3. Table: dj1  
  4. Create Table: CREATE TABLE `dj1` (  
  5. `a` char(1) COLLATE utf8_bin DEFAULT NULL,  
  6. `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  
  7. `c` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',  
  8. UNIQUE KEY `dj1_idx_u1` (`b`)  
  9. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin 
  10. 1 row in set (0.00 sec) 

#2創(chuàng)建表dj2,列b不帶自動更新屬性。

 
 
 
  1. root@localhost:test >CREATE TABLE `dj2` (  
  2. -> `a` char(1) COLLATE utf8_bin DEFAULT NULL,  
  3. -> `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ,  
  4. -> `c` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',  
  5. -> UNIQUE KEY `dj1_idx_u1` (`b`)  
  6. -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;  
  7. Query OK, 0 rows affected (0.01 sec) 

#3插入dj2測試數(shù)據(jù)

 
 
 
  1. root@localhost:test >insert into dj2 values (1,null,null);   
  2. Query OK, 1 row affected (0.00 sec)  
  3. root@localhost:test >insert into dj2 values (2,null,null);   
  4. Query OK, 1 row affected (0.00 sec) 

#4查看dj2數(shù)據(jù)

 
 
 
  1. root@localhost:test >select * from dj2;  
  2. +------+---------------------+---------------------+  
  3. | a | b | c |  
  4. +------+---------------------+---------------------+  
  5. | 1 | 2009-09-09 14:02:55 | 2009-09-09 14:02:55 |   
  6. | 2 | 2009-09-09 14:03:00 | 2009-09-09 14:03:00 |   
  7. +------+---------------------+---------------------+  
  8. 2 rows in set (0.00 sec) 

#5dj2上創(chuàng)建***索引

 
 
 
  1. root@localhost:test >create unique index dj2_idx_u1 on dj2(b);  
  2. Query OK, 2 rows affected (0.02 sec)  
  3. Records: 2 Duplicates: 0 Warnings: 0  
  4. #更新數(shù)據(jù)成功  
  5. root@localhost:test >update dj2 set a=9;  
  6. Query OK, 2 rows affected (0.00 sec)  
  7. Rows matched: 2 Changed: 2 Warnings: 0  
  8. root@localhost:test >select * from dj2;  
  9. +------+---------------------+---------------------+  
  10. | a | b | c |  
  11. +------+---------------------+---------------------+  
  12. | 9 | 2009-09-09 14:02:55 | 2009-09-09 14:02:55 |   
  13. | 9 | 2009-09-09 14:03:00 | 2009-09-09 14:03:00 |   
  14. +------+---------------------+---------------------+  
  15. 2 rows in set (0.00 sec) 

#6創(chuàng)建表dj3,b列默認(rèn)值為CURRENT_TIMESTAMP,c列默認(rèn)值為CURRENT_TIMESTAMP帶自動更新屬性,報錯,不允許行為。

 
 
 
  1. root@localhost:test >CREATE TABLE `dj3` (  
  2. -> `a` char(1) COLLATE utf8_bin DEFAULT NULL,  
  3. -> `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ,  
  4. -> `c` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  
  5. -> UNIQUE KEY `dj1_idx_u1` (`b`)  
  6. -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;  
  7. ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause 

#7創(chuàng)建表dj4,b列默認(rèn)值為CURRENT_TIMESTAMP,c列默認(rèn)值為'0000-00-00 00:00:00'帶自動更新屬性,報錯,不允許行為。

 
 
 
  1. root@localhost:test >CREATE TABLE `dj4` (  
  2. -> `a` char(1) COLLATE utf8_bin DEFAULT NULL,  
  3. -> `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ,  
  4. -> `c` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,  
  5. -> UNIQUE KEY `dj1_idx_u1` (`b`)  
  6. -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;  
  7. ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause 

#8創(chuàng)建表dj5,b列默認(rèn)值為CURRENT_TIMESTAMP帶自動更新屬性,c列默認(rèn)值為CURRENT_TIMESTAMP,報錯,不允許行為。

 
 
 
  1. root@localhost:test >CREATE TABLE `dj5` (  
  2. -> `a` char(1) COLLATE utf8_bin DEFAULT NULL,  
  3. -> `b` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  
  4. -> `c` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ,  
  5. -> UNIQUE KEY `dj1_idx_u1` (`b`)  
  6. -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;  
  7. ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause 

以上就是MySQL數(shù)據(jù)庫TIMESTAMP設(shè)置默認(rèn)值的幾個應(yīng)用實例,本文就介紹到這里,希望本次的介紹能夠?qū)δ兴斋@!


網(wǎng)站標(biāo)題:MySQL數(shù)據(jù)庫TIMESTAMP設(shè)置默認(rèn)值的幾個應(yīng)用實例
分享鏈接:http://www.dlmjj.cn/article/cogochp.html