我无法使用此代码插入值:
insert into t_category_values (CategoryCode,
CategoryValueCode, CategoryValue) values(2, 1, 1);
错误信息
no primary key
我无法使用此代码插入值:
insert into t_category_values (CategoryCode,
CategoryValueCode, CategoryValue) values(2, 1, 1);
错误信息
no primary key
您的查询是错误的,应该是:
INSERT INTO `DBA`.`t_category_values`
(CategoryCode, CategoryValueCode, CategoryValue)
VALUES(1, 1, "aaa");
有关更多帮助,请参见此处:Sql Insert Wiki
编辑:
您的查询和错误:
插入 t_category_values (CategoryCode, CategoryValueCode, CategoryValue) values(2, 1, 1);
没有主键
在插入时指定插入几列而不是表中的全部,您必须包含主键。这意味着在您的 CategoryCode、CategoryValueCode、CategoryValue 之一中应该是主键或在表中包含作为主键的第四列。
insert into `DBA`.`t_category_values` (`CategoryCode`, `CategoryValueCode`, `CategoryValue`) values(1, 1, "aaa");
试试这个(编辑,因为你使用 Sybase SQL Anywhere):
INSERT INTO dba.t_category_values
(CategoryCode, CategoryValueCode, CategoryValue)
VALUES(1, 1, 'aaa');
已编辑:
来自Sybase 网页:向表中添加行
假设创建了一个新的东部销售部门,其经理与当前销售部门相同。您可以使用以下 INSERT 语句将此信息添加到数据库中:
INSERT
INTO department ( dept_id, dept_name, dept_head_id )
VALUES ( 220, 'Eastern Sales', 902 )
如果您出错并忘记指定其中一列,SQL Anywhere 会报告错误。
NULL 值是一个特殊值,用于指示某些东西是未知的或不适用的。某些列允许包含 NULL 值,而其他列则不允许。
插入是这样的:
INSERT INTO `DBA`.`t_category_values`
(CategoryCode, CategoryValueCode, CategoryValue)
VALUES (1, 1, "aaa");
DBA
是数据库,t_category_values
是表。如果要从另一个表中插入数据,请使用 SELECT:
INSERT INTO `DBA`.`t_category_values`
(CategoryCode, CategoryValueCode, CategoryValue)
SELECT (CategoryCode, CategoryValueCode, CategoryValue)
FROM `DBA`.`old_category_values`;
插入查询,例如:-
Insert into `tableName`(field1, field2, field3) values ('value1', 'value2', 'value3');
您收到错误“无主键”,因为您没有指定有效的唯一主键。
您的表格必须是 4 列。
INSERT INTO t_category_values (PRIMARY_KEY, CategoryCode, CategoryValueCode, CategoryValue)
VALUES(pkey_value_here, 2, 1, 1);
唯一不需要指定主键列的情况是主键是自动递增值。如果它是一个自动增量列,INSERT 将自动为您填写该值,您无需担心。