2011-01-31 9 views
1

numPears (int)과 numApples (int)의 2 개의 필드를 가진 mysql 테이블이 있고이 두 값을 자동으로 얻고 합계를 numFruit (int) 갖고 싶습니다. 그게 가능하니?두 개의 필드의 합

그래서 쿼리 다음

INSERT INTO strange_table (fruitID, numPears, numApples) VALUES (1, 1, 5); 

그리고 쿼리

SELECT numFruit FROM strange_table WHERE fruitID = 1; 

그것은 나에게 6을 것을 반환하는 경우.

답변

2

새 행이 DB에 들어올 때마다 정적 값을 만들려는 경우 트리거를 사용하십시오. http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html을 참조하십시오. 특히 삽입 및 업데이트시 트리거가 필요합니다.

- 질문이 명확 해졌습니다. 나는 저장 프로 시저가 당신이 지금 찾고있는 것보다 더 많다고 생각한다!

http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html

이것은 MySQL이 다른 두 컬럼의 합계를 반환 numFruit라고 안에 당신이 함수를 만들 수 있습니다.

2
SELECT (numPears + numApples) AS numFruit FROM strange_table WHERE fruitID = 1; 
+0

또한 SQL 문에서 다른 것을 선택할 수 있습니까? – Shoe

+0

예, 'numFruit'다음에 쉼표를 추가하고 검색 할 추가 열을 추가하십시오. - SELECT (numPears + numApples) AS numFruit, numPears, numApples FROM strange_table WHERE fruitID = 1; – Purpletoucan

+0

트위터 질문 답변이기 때문에 이것을 수락 된 대답으로 선택할 수 없습니다. 그러나 그것은 매우 유용했습니다. +1 – Shoe

0

당신은 MySQL이 현재 사람들을 지원처럼 당신이 "계산 된 열"이라고 얘기 그것은 보이지 않는 PHP

$pears = 5; 
$apples= 1; 

$query = "INSERT INTO strange_table (fruitID, numPears, numApples, numFruit) VALUES (1, $pears, $apples, " . ($pears + $apples) . ")"; 
+0

글쎄, 두 개의'numPears'와'numApples'는 필자의 경우 나중에 따로 따로 갱신 될 것이므로'numFruit' 필드를 선택하고 적어도 하나 이상의 쿼리를 사용하여 다시 업데이트해야합니다. – Shoe

0

를 사용하는 경우.