2011-04-15 46 views
0

使用此代碼我不能插入值:如何在SQL中的任何位置插入值?

insert into t_category_values (CategoryCode, 
CategoryValueCode, CategoryValue) values(2, 1, 1); 

錯誤味精

no primary key 
+0

錯誤查詢:顯示您的表格結構並告訴我您確切要發送什麼? – diEcho 2011-04-15 06:43:50

+0

在CategoryCode,CategoryValueCode和CategoryValue上插入值.. – 2011-04-15 06:46:55

+0

@Moon'CategoryCode,CategoryValueCode和CategoryValue'屬性名稱或表名稱?你的表名是什麼?它是't_category_values' – diEcho 2011-04-15 06:48:26

回答

6

您所查詢的是錯了,它應該是:

INSERT INTO `DBA`.`t_category_values` 
(CategoryCode, CategoryValueCode, CategoryValue) 
VALUES(1, 1, "aaa"); 

在這裏看到更多的幫助: Sql Insert Wiki


編輯:

你的查詢和錯誤:

insert into t_category_values (CategoryCode, CategoryValueCode, CategoryValue) values(2, 1, 1);

no primary key

在插入,同時指定在幾列,而不是所有的表,你必須有包括主鍵來插入。這意味着在您的CategoryCode,CategoryValueCode之一中,CategoryValue應該是主鍵或包含作爲表中主鍵的第四列。

+0

它不工作.. – 2011-04-15 06:44:49

+1

是的,或者他想要一個「插入...從...中選擇」這可能是可能的想法。 – stefan 2011-04-15 06:45:01

+0

@MoonFang:它給了什麼錯誤? – 2011-04-15 06:45:43

3
insert into `DBA`.`t_category_values` (`CategoryCode`, `CategoryValueCode`, `CategoryValue`) values(1, 1, "aaa"); 
+0

在MySQL我相信他應該使用**'**代替**「** .. – Marco 2011-04-15 06:49:06

+0

語法錯誤... – 2011-04-15 06:50:05

+1

@Marco:兩者都應該工作。 – Gaurav 2011-04-15 06:50:23

3

試一下這個(編輯因爲您使用Sybase SQL Anywhere的):

INSERT INTO dba.t_category_values 
(CategoryCode, CategoryValueCode, CategoryValue) 
VALUES(1, 1, 'aaa'); 

編輯:
Sybase web page: 將行添加到表

假設一個創建新的東部銷售部門,與當前的銷售部門擁有相同的經理。使用下面的INSERT語句,您可以將此信息添加到數據庫中:如果你犯了一個錯誤

INSERT 
INTO department (dept_id, dept_name, dept_head_id) 
VALUES (220, 'Eastern Sales', 902) 

和忘記指定其中一列,SQL Anywhere會報告錯誤。

NULL值是一個特殊值,用於指示某些內容未知或不適用。一些列允許包含NULL值,而另一些則不包含。

+0

第1行,第13列的語法錯誤:非法字符「'」(96) INSERT INTO – 2011-04-15 06:50:41

+1

@MoonFang:反引號**'**(ascii 096)在MySQL中用於分隔表或字段名稱...是你使用MySQL? – Marco 2011-04-15 06:52:48

+0

即時消息使用sql – 2011-04-15 06:56:20

2

的INSERT是這樣的:

INSERT INTO `DBA`.`t_category_values` 
(CategoryCode, CategoryValueCode, CategoryValue) 
VALUES (1, 1, "aaa"); 
  1. 沒有 「雙引號」 周圍的表名,反引號是允許的。 DBA是數據庫,t_category_values是該表。
  2. 命名您想要填充的列
  3. 添加'值',然後添加這些列的值。

如果你想從另一個表插入數據,使用SELECT:

INSERT INTO `DBA`.`t_category_values` 
(CategoryCode, CategoryValueCode, CategoryValue) 
SELECT (CategoryCode, CategoryValueCode, CategoryValue) 
FROM `DBA`.`old_category_values`; 
1

插入查詢如: -

Insert into `tableName`(field1, field2, field3) values ('value1', 'value2', 'value3'); 
0

你所得到的錯誤「無主鍵「因爲你還沒有指定一個有效的唯一主鍵。

您的表必須是4列。

INSERT INTO t_category_values (PRIMARY_KEY, CategoryCode, CategoryValueCode, CategoryValue) 
VALUES(pkey_value_here, 2, 1, 1); 

您不需要指定主鍵列的唯一時間是主鍵是自動增量值。如果它是一個自動增量列,INSERT將自動爲您填充該值,您不需要擔心。

相關問題