我正在尝试手动将一行插入到我的SQL Server数据表中。该表有5列,一个标识列和四个数据列。我看了this post,但是当我运行所选答案的查询时(当然用我的表名替换'GroupTable')后,我的SQL Server 2005管理工作室崩溃了。
我尝试过以下陈述的变体,但到目前为止显然没有运气:
INSERT INTO MyTable (id, col1, col2, col3, col4)
VALUES (0, 'Column 1 Value', 'Column 2 Value', 'Column 3 Value', 'Column 4 Value')
INSERT INTO MyTable (col1, col2, col3, col4)
VALUES ('Column 1 Value', 'Column 2 Value', 'Column 3 Value', 'Column 4 Value')
任何指针都会非常感激。
答案 0 :(得分:7)
通常,如果设置了列,则省略id列将生成新的自动ID。在您的情况下,您可以使用
SET IDENTITY_INSERT MyTable ON;
INSERT INTO MyTable (id, col1, col2, col3, col4)
VALUES (4567, 'Value1', 'Value2', 'Value3', 'Value4');
SET IDENTITY_INSERT MyTable OFF;
答案 1 :(得分:1)
正如其他人所说,我认为第二个应该适合你,但如果你在运行查询时崩溃了管理工作室,无论它是否坏了,你的问题都比一个格式错误的sql更大查询。
工作室不应该崩溃,即使你写了一些非常糟糕的SQL ...它应该只是给你一个错误信息并继续前进。如果您遇到这类错误,可以考虑重新安装管理工作室。
答案 2 :(得分:0)
我第一次听说mysql有一个SQL 2005管理客户端,但无论如何你试过从命令行直接登录到数据库并从那里执行insert语句?
答案 3 :(得分:0)
不确定“崩溃”是什么意思,但是,如果您在表格上正确设置了标识规范,则第二个语句应该有效。右键单击mangement studio中的表,然后查看id列的属性。 isIdentity应为“是”,身份增量应为1。