我在往MySQL数据库插入数据的时候,大多数情况是正常的,但是偶尔会出现插入的数据跟列的名称一模一样的情况。
比如,我定义的表stu的列名为id, name, sex, addr, workplace,偶尔会出现插入的数据也为id, name, sex, addr, workplace的情况,也就是选择select * from stu where addr=‘addr’会出来一条跟列名完全一样的数据。
有时候,连续几个月才出现一次,有时候一个月能出现几次,找不到规律,也找不到原因……
有么有哪位大侠也遇到过同样的问题,方便的话,给指导一二,在下感激不尽……
写sql最好写列名 最好把你的代码贴出来
少年请发出你的代码,光说是没用的
那就是你使用插入的时候,参数有时候就是这样的值,看看你使用插入时候的参数值什么时候可以是和列名一样的
看了代码,才方便解决。
sql语句中最好是你写列名,参数的值和列名一样的情况会有很多啊,一般不会出现这种情况的,我觉得是你问法有一点问题,是不是代码的问题,你看可以把代码贴出来,我们给你看看
截图看看是什么情况,好跟踪问题
代码没有错,只是你错了
请发出你的代码,看过才知道
可能是执行操作session什么的打开关闭事物提交回滚什么的。。代码都没有。。
可以把代码截出来,既然有时候能显示正常,有时候不正常,多可能是代码的问题
这种数据的概率几乎很少没有这么存储
代码语法不太对吧,把代码截图出来看看
不好意思,昨天有点儿忙,才看到各位的回复,代码很简单,就是普通的用Format格式化后的insert语句,用C++写的,用ODBC的方式访问数据库:
str_sql_temp.Format("insert into %s (sn_no, product_type, card_num, card_quantity, team_num, operator, time, product_num ) values
('%s','%s','%s','%s','%s','%s','%s','%s') ", str_last_table_name, str_sn_no, str_product_type, str_card_num, str_card_quantity, str_team_num, str_current_time,str_procedure_num);
str_excute_result_temp=m_db.ExecuteSQL(str_sql_temp);
if("执行成功"!= str_excute_result_temp)
TRACE(str_excute_result_temp);
str_sql_temp="";