[前][次][番号順一覧][スレッド一覧]

mysql:15375

From: Mikiya Okuno <Mikiya Okuno <mikiya.okuno@xxxxxxxxxx>>
Date: Thu, 19 Aug 2010 21:50:03 +0900
Subject: [mysql 15375] Re: int column への2147483648

奥野です。こんばんは。

bind[0].is_unsigned = 1にしましょう。
そうしないと符号付き32ビット整数の最大値=2147483647に
引っかかってしまいます。

ではでは。

On 08/19/2010 08:46 PM, Etsuo SUMIYA wrote:
> sumiyaといいます。
> 
> mysql-5.1.47-winを使用していて、mysql_stmt_prepare()を使い、データ
> ベースへ書き込むアプリケーションを開発していますが、添付のプログラ
> ムを実行すると、
> 
> mysql>  select * from t;
> +------------+
> | c1         |
> +------------+
> | 2147483647 |
> |          0 |
> +------------+
> 2 rows in set (0.03 sec)
> 
> となり、2147483648が書き込まれずに、0になってしまいます。
> mysqlコマンドでは書き込めるのですが、プログラムインタフェースから
> は上の結果となります。
> 
> 環境はWindows XP SP3
> Visual studio 2003
> を使用しております。
> 
> どなたか、情報をお持ちの方はアドバイスをお願いします。
> 
> --- テーブル ---
> CREATE TABLE `t` (
>    `c1` int(10) unsigned DEFAULT NULL
> ) ENGINE=MyISAM DEFAULT CHARSET=sjis
> --- ここまで ---
> 
> --- プログラム ---
> #include "stdafx.h"
> #include<config-win.h>
> #include<mysql.h>
> 
> MYSQL *mysql;
> 
> int mytest();
> 
> int _tmain(int argc, _TCHAR* argv[])
> {
> 	mytest();
> 	return 0;
> }
> 
> int mytest()
> {
> 	static MYSQL_BIND bind[1];
> 	int result;
> 	unsigned int stat;
> 	my_bool statnull = 0;
> 	char *insert = "INSERT INTO t (c1) values (?)";
> 	MYSQL_STMT *tstmt;
> 
> 	MYSQL *mymysql;
> 	mysql = mysql_init(NULL);
> 	if(mysql) {
> 		mymysql = mysql_real_connect(mysql, "192.168.48.15", "test", "", "test", 0, NULL, CLIENT_MULTI_STATEMENTS);
> 	} else exit(-1);
> 
> 	tstmt = mysql_stmt_init(mysql);
> 	result = mysql_stmt_prepare(tstmt, insert, (unsigned long)strlen(insert));
> 	memset(bind, 0, sizeof(bind));
> 	bind[0].buffer_type = MYSQL_TYPE_LONG;
> 	bind[0].buffer = (char *)&stat;
> 	bind[0].length = 0;
> 	bind[0].is_null =&statnull;
> 	result = mysql_stmt_bind_param(tstmt, bind);
> 	stat = 0x80000000-1;
> 	result = mysql_stmt_execute(tstmt);
> 	stat = 0x80000000;
> 	result = mysql_stmt_execute(tstmt);
> 	return(0);
> }
> --- ここまで ---
> 

[前][次][番号順一覧][スレッド一覧]

     15374 2010-08-19 20:46 [Etsuo SUMIYA <sumiya] int column への2147483648               
->   15375 2010-08-19 21:50 ┗[Mikiya Okuno <mikiya]                                       
     15376 2010-08-20 08:23  ┗[Etsuo SUMIYA <sumiya]                                     
     15377 2010-08-20 22:10   ┗[SAKAI Kei <sak2@xxxx]                                   
     15378 2010-08-21 10:39    ┗[Etsuo SUMIYA <sumiya]                                 
     15379 2010-08-21 18:31     ┗[SAKAI Kei <sak2@xxxx]                               
     15381 2010-08-24 08:56      ┗["Watanabe Tomoyuki" ]