SQL:插入不起作用

时间:2014-01-03 00:06:50

标签: mysql insert

insert into table (id, day) values (0, 'Monday');

我不知道为什么这不起作用。我的意思是,我实际上是SQL新手,但它应该可行。至少在它的教程中。

2 个答案:

答案 0 :(得分:3)

嗯...

通常,假设数据库中有一个名为table的表,而表table有两列,idday,则插入应该有效。如果表具有其他列,除非这些列可以为空或者已分配默认约束,否则插入将失败。但是......

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');

但我建议你重命名你的桌子。