2013-04-06 43 views
0

是否可以將mysql用戶添加到數據庫中作爲列?將mysql用戶添加到數據庫中

假設我們有一個如下表:

CREATE TABLE message(
    id INT AUTO_INCREMENT NOT NULL, 
    title VARCHAR(255), 
    message TEXT, 
    last_edited TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    PRIMARY KEY (id) 
) ENGINE=INNODB; 

,我們要添加「編輯」列其將獲得當前的MySQL用戶,並插入那裏,也會更新其自動類似的行爲TIMESTAMP數據類型。可以這樣做,如果有的話,我應該使用什麼樣的數據類型(是否有像USER這樣的類型,或者我應該使用簡單的varchar)以及涉及哪種語法?

回答

1
CREATE TABLE message(
    id INT AUTO_INCREMENT NOT NULL, 
    title VARCHAR(255), 
    message TEXT, 
    last_edited TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    editor VARCHAR(50) NOT NULL, 
    PRIMARY KEY (id), 
    UNIQUE INDEX `editor`(`editor`) 
) ENGINE=INNODB; 

而插入;使用

INSERT INTO `message`(`columns..`, `editor`) 
    VALUES(<YOUR VALUES>, CURRENT_USER()) 
ON DUPLICATE KEY UPDATE 
    `editor` = CURRENT_USER(); 
+0

如果我想在表創建期間添加此列而不是在事後更改它? – Tomkarho 2013-04-06 08:41:43

+0

@TKAGriever檢查編輯。 – hjpotter92 2013-04-06 10:28:46