sql语句等新手,我在linux机器上使用squirrelSQL做了什么问题
我创建了一个表并使用了以下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');
此特定语句返回以下错误: -
错误:列'ID'无法接受NULL值。 SQLState:23502 ErrorCode:30000
我只希望将数据/值添加到surname列中,在使用alter table语句创建新列之后,我尝试了许多不同的组合,包括在上面的INSERT语句之前使用SELECT语句,这也会给出错误任何指导将不胜感激,
答案 0 :(得分:1)
您正在插入Surname,而不会为其他字段指定值。您收到此错误消息,因为ID为空,不应该。
了解INSERT
创建新行。如果您想修改现有行,请使用UPDATE
在这种情况下,您可以使用UPDATE FIRSTTABLE SET SURNAME='THOMAS';
省略WHERE
子句会影响表中的所有字段。
希望它对你的学习过程有所帮助,祝你好运!
答案 1 :(得分:0)
方法错了,你需要:
private List<Key> _pressed = new List<Key>();
private void Window_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (_pressed.Contains(e.Key)) return;
_pressed.Add(e.Key);
if (Keyboard.Modifiers == ModifierKeys.Control && _pressed.Contains(Key.C) && _pressed.Contains(Key.L))
{
_allowClose = true;
this.Close();
e.Handled = true;
}
}
private void Window_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
_pressed.Remove(e.Key);
}
答案 2 :(得分:0)
插入将向表中添加新行。因此,您需要使用
更新一行 UPDATE FIRSTTABLE SET SURNAME="THOMAS" WHERE ID=11