2017-03-22 1 views
0

코드 우선 접근 방식으로 데이터베이스를 채울 때 문제가 발생했습니다. 나는 빈 마이그레이션을 만들었고 Up() 메서드에서 간단한 SQL 스크립트를 추가하여 테이블에 구체적인 값을 삽입했습니다. 죄송 합니다만 IdName 값은 모두 올바르게 삽입되지만 Value 열의 값은 모든 행에서 동일하게 유지되고 1과 동일하게 유지됩니다. 왜 그런 일이 발생했는지 알고 있습니까?SQL 스크립트가 테이블에 float 값을 삽입하지 않습니다

Sql("INSERT INTO ActivityFactors (Id, Name, Value) VALUES (1, 'Thing1', '1.2')"); 
    Sql("INSERT INTO ActivityFactors (Id, Name, Value) VALUES (2, 'Thing2', '1.375')"); 
    Sql("INSERT INTO ActivityFactors (Id, Name, Value) VALUES (3, 'Thing3', '1.55')"); 
    Sql("INSERT INTO ActivityFactors (Id, Name, Value) VALUES (4, 'Thing4', '1.725')"); 
    Sql("INSERT INTO ActivityFactors (Id, Name, Value) VALUES (5, 'Thing5', '1.9')"); 
+1

왜 float 값을 작은 따옴표로 묶으려고합니까? – Pons

+0

또한 "값"열의 유형을 확인할 수 있습니까? – suecarmol

+0

@Pons이 SQL 스크립트를 실험하면서이 방법을 사용하지 않았을 수도 있습니다. 그럼에도 불구하고 작은 따옴표가 없어도 여전히 작동하지 않습니다. –

답변

3

decimal(18,2)에 열 이름을 Value 데이터 유형을 변환 : 이 내가 사용하는 SQL 스크립트입니다.

DECIMAL (p, s) : 정확한 숫자, 전체 자릿수 p, 소수 자릿수. 예 : decimal (5,2)는 소수점 이하 3 자리 숫자와 소수점 이하 2 자리 숫자입니다.

관련 문제