2017-07-26 49 views
2

新的SQL語句等等,我有什麼,我的Linux機器上使用squirrelSQL援助需要使用SQL語句/表達式

我創建了一個表,並使用下面的SQL語句執行的問題: -

INSERT INTO FIRSTTABLE VALUES 
    (11,'TEN','STEVE'),(21,'TWENTY','JO'),(31,'THIRTY','KIDS') 

ALTER TABLE FIRSTTABLE 
ADD SURNAME VARCHAR(15); 

然而,當我試圖插入數據/值到姓排我不斷遇到錯誤,這工作得很好,我現在用的SQL語句是: -

INSERT INTO FIRSTTABLE (SURNAME) 
    VALUES ('THOMAS'),('THOMAS'),('THOMAS'),('THOMAS'); 

這部分icular語句返回以下錯誤: -

Error: Column 'ID' cannot accept a NULL value. SQLState: 23502 ErrorCode: 30000

我只想補充數據/值到姓列,創建與ALTER TABLE語句的新列之後,我已經嘗試了許多不同的組合,包括使用SELECT語句之前的INSERT語句上面這也給了錯誤的任何指導,將不勝感激,

+0

使ID標識列是自動遞增 –

回答

2

要插入的姓,不給對方賦值領域。您收到此錯誤消息是因爲ID爲空,而不應該。

瞭解INSERT會創建新行。如果要修改現有行,請使用UPDATE

在這種情況下,你可以使用UPDATE FIRSTTABLE SET SURNAME='THOMAS'; 省略WHERE條款會影響表中的所有字段。

希望它有幫助,祝你在學習過程中好運!

+1

謝謝您的幫助! – Steve

0

的做法是錯誤的,你需要:

UPDATE FIRSTTABLE SET SURNAME='THOMAS' WHERE ID IN (11, 21, 31) 
0

插入將向表中添加一個新行。所以,你需要更新連續使用

UPDATE FIRSTTABLE SET SURNAME="THOMAS" WHERE ID=11