2016-06-14 2 views
0

테이블의 모든 열에 TimeStamp와 동일한 값을 제공하려고합니다. 열이 알려지지 않았다고 가정 해 봅시다. 열 이름을 지정하지 않고 INSERT INTO table VALUES ('one value');과 같은 방법이 있습니까?SQLite : 동일한 값을 여러 열에 삽입하는 방법?

UPDATE :

의 난 '학생'라는 이름의 테이블이 있고 난 'f_name', 'm_name', 그리고 거기에 'l_name'을 가지고 있다고 가정 해 봅시다.

은 내가

INSERT INTO student VALUES ('John'); 그럼 난 내 표는 다음과 같이 싶어의 말 (꼽은)를 보자.

-----------student------------ 
f_name | m_name | l_name 
------------------------------ 
    John | John | John <--- (The record i just inserted) 
+0

모든 레코드에 대해 'UPDATE'를 수행 할 수 있습니다. 'WHERE' 제한을 생략 할 수 있습니다. 그러나 INSERT의 경우에는 RDBMS가 원하는 수의 레코드 삽입을 중지 (또는 시작)하는 방법을 알기 때문에 의미가 없습니다. –

+1

행에 관한 것이 아닙니다. 그것은 어쨌든 하나의 기록입니다. 나는 이것을 더 설명하는 방법을 모른다. 죄송합니다. 사실 내가 요청하는 것이 실제로 정말 간단합니다. 모든 열에 하나의 값만 있습니다. – m4heshd

+1

열의 수를 알고 있습니까? 아니면 이것도 알 수 있습니까? –

답변

0

당신은

INSERT INTO table VALUES ('Cardinal',..........,'Cardinal'); //As many times as number of columns 
+1

나는 이것이 효과가 있다고 생각하지 않는다. 여기에 열 이름이 필요합니다. –

+0

@TimBiegeleisen w3school에 따르면.com 첫 번째 양식은 데이터가 삽입 될 열 이름을 지정하지 않고 그 값만 'INSERT INTO table_name VALUES (값 1, 값 2, 값 3, ...); ' –

+0

보세요 [여기] http://www.w3schools.com/php/php_mysql_insert.asp). 본 페이지는 MySQL의 방언이 아닌 일반적인 SQL에 가장 많이 사용되었습니다. –

0

당신은 UPDATE 함께 할 수 사용할 수 있습니다 : 당신이 이미 테이블에 데이터를 경우에만 작동합니다

UPDATE TableName SET ColumnName = 'Value'; 

.

+1

레코드가 이미 존재한다고 가정하면이 작업을 수행 할 수 있습니다. –

+0

네 말이 맞아, 나는 그것을 편집하려고했다. –

+0

예. 내가 필요한 건 새로운 기록이야. – m4heshd

2

실제로 이것은 포스트그레스에서 수행 할 수 있습니다. 나는 당신이 sqlite에서 그것을 할 수 있다고 생각하지 않는다. 다음 쿼리를 사용하면 테이블의 열을 알 필요없이 원하는 삽입 문을 생성 할 수 있습니다. MY_TABLE을 DB에있는 테이블 이름으로 바꾸십시오.

SELECT 'INSERT INTO MY_TABLE ' || array_to_string(ARRAY(SELECT '' || c.column_name 
     FROM information_schema.columns As c 
      WHERE table_name = 'MY_TABLE' 
    ), ',') || ' VALUES (' || 
array_to_string(ARRAY(SELECT '' || '\'MY_VALUE\'' 
     FROM information_schema.columns As c 
      WHERE table_name = 'MY_TABLE' 
    ), ',') || ');' 
    As sqlstmt 
+0

이것은 정확히 내가 필요한 것이지만 SQLite에 있습니다. 어쨌든 고마워. – m4heshd

관련 문제