在mysql查询中引用int作为字符串

时间:2014-06-23 15:54:09

标签: mysql database

在使用MySQL数据库时,我做了一些令我惊讶的疑问! 假设一个ID为int且名称为varchar的小表,当我根据ID进行更新查询时(使用C#):

MySqlCommand comm = new MySqlCommand("UPDATE database.table SET Name=@name WHERE id=@id", sqlconn);
comm.Parameters.AddWithValue("@name", textbox1.text);
comm.Parameters.AddWithValue("@id", textbox2.text);
comm.ExecuteNonQuery();
sqlconn.Close();

这确实是完全正确的,所以如果ID作为intstring传递到数据库,这不是问题,有什么事可以有人向我解释一下吗?

1 个答案:

答案 0 :(得分:2)

MySQL是"做我的意思"一种数据库,将根据需要自动转换类型。

大多数情况下这是一件好事,这意味着你不必大肆渲染,但有时它可能导致模糊和奇怪的错误,当它在你不知道的情况下做事情,比如静默地截断数据。