insert into table (id, day) values (0, 'Monday');
我不知道为什么这不起作用。我的意思是,我实际上是SQL新手,但它应该可行。至少在它的教程中。
答案 0 :(得分:3)
嗯...
通常,假设数据库中有一个名为table
的表,而表table
有两列,id
和day
,则插入应该有效。如果表具有其他列,除非这些列可以为空或者已分配默认约束,否则插入将失败。但是......
table
是一个SQL 关键字,这意味着它不能像您在示例中所做的那样用作表名而不引用它。不知道你正在使用什么SQL方言......
标准(ANSI / ISO)SQL引用带双引号的关键字:
insert "table" (id,day) values(0,'Monday')
T-SQL(Microsoft / Sybase SQL Server)接受上面的双引号或左/右方括号:
insert [table] (id,day) values(0,'Monday')
此外,某些SQL方言将要求语句以;
终止:
insert "table" (id,day) values(0,'Monday') ;
更进一步,根据您的SQL实现和隔离级别/事务范围,您可能必须明确commit
您的事务才能保留更改。
答案 1 :(得分:1)
table
是SQL中的关键字。
您确定您的表名是table
吗?
如果是,您必须这样引用:
insert into [table] (id, day) values (0, 'Monday');
但我建议你重命名你的桌子。