【发布时间】:2014-01-22 12:59:26
【问题描述】:
首先,让我为标题道歉,因为它不是那么解释,但我不能用其他方式说出来。
交易是:我正在做一个 javascript 应用程序,其中我有一个名为“ocorrencia”的对象,它的定义如下:
var ocorrencia = new Object();
那个对象有几个孩子,被一个方法填充:
ocorrencia.idOcorrencia = ""+ year + month + day + hour + minute + second + milisec;
idOcorrencia 是我遇到的问题,因为我正在运行具有此值的数据库插入,并且我在同一个插入中使用了 2 次,例如:
var sql = 'INSERT INTO OCORRENCIAS (id, ocorrencia, data, resolucao, urgencia, foto) VALUES (' + ocorrencia.idOcorrencia + ', "' + ocorrencia.descricao + '", "' + ocorrencia.data + '", "' + ocorrencia.resolucao + '", "' + ocorrencia.grauUrg + '", "' + ocorrencia.idOcorrencia + '.jpg"' +')';
插入运行良好,我已将所有数据插入数据库中,但“id”和“foto”(应该获得相等的值)在 2 或 3 毫秒内给了我不同的值。
这怎么会发生,因为我没有更改“ocorrencia.idOcorrencia”?
这是在 Android 设备中进行测试。
编辑:在 Windows 浏览器上测试,问题似乎没有发生。
谢谢
【问题讨论】:
-
因此,经过数小时的监控,我们得出了一个结论。我设法查看了我的数据库,但值是错误的,所以错误一定是在插入时。我曾经写过一个数字(用作 ID),另一个写成字符串。在尝试将字符串写入 2 次后,值总是正确的,所以我将使用字符串作为我的 ID。只有当 MySQL 在将大字符串直接转换为数字时存在错误时,我们才能真正得到解释。如果有人能判断这是否是一个已知问题,那就太好了!
标签: javascript android mysql