Mysql 在表中插入一行,并用钛合金填充

Mysql 在表中插入一行,并用钛合金填充,mysql,database,titanium,Mysql,Database,Titanium,当表为空时,我在表上使用了insert查询,它执行完美并插入数据,当我使用具有相同值的相同insert查询时,它会弹出错误 我得到一个错误 var insert_query= Alloy.Globals.database_file.execute('INSERT INTO get_appointments (appointment_number,end_date_time,location,start_date_time) VALUES (?,?,?,?)', app_number, app_

当表为空时,我在表上使用了insert查询,它执行完美并插入数据,当我使用具有相同值的相同insert查询时,它会弹出错误

我得到一个错误

var insert_query=  Alloy.Globals.database_file.execute('INSERT INTO get_appointments (appointment_number,end_date_time,location,start_date_time) VALUES (?,?,?,?)', app_number, app_end_time,app_loc, app_start_time);


[ERROR] :  Script Error {
[ERROR] :      backtrace = "#0 () at :0";
[ERROR] :      line = 127;
[ERROR] :      message = "Error occurred calling next on a PLSqliteResultSet. SQLite error: 'column appointment_number is not unique' for 'INSERT INTO get_appointments (appointment_number,end_date_time,location,start_date_time) VALUES (?,?,?,?)'";
[ERROR] :      sourceId = 299620896;
[ERROR] :      sourceURL = "file:///Users/obaid_infrability/Library/Application%20Support/iPhone%20Simulator/7.1/Applications/F58D6E16-22D1-4C45-A800-7DE57DA00DDA/Qima%20App.app/app.js";
[ERROR] :  }
出现此错误的原因是,约会号设置为“唯一”,但我不明白为什么它会弹出一个错误,如果该值已经存在,它应该跳过


要跳过此错误,我必须做些什么?

您有几个选项可以处理此问题,您应该为您的应用程序选择最佳解决方案

  • 如果要忽略这些错误,请在代码中捕获此错误,并忽略它
  • 如果要使用新值更新所有行信息,可以改为在“插入到”中使用“替换到”
  • 如果只想从请求中更新多个字段,可以使用“在重复密钥更新时插入…”

  • 如果将列设置为唯一,则如果该值已存在,则不会保留该列。因为,它类似于主键。uniqueprimary key之间的唯一区别在于,主键只能设置为表中的一列,而unique可以设置为表中的多列


    如果您想添加列的唯一约束,即使它已经存在。

    我的目标是,如果它存在,也不要再添加相同的值。您的解决方案似乎很有趣,但您能否告诉我有关“在代码中捕获此错误并忽略它”的更多信息。如何做到这一点?我已经尝试过了{var insert_query=Alloy.Globals.database_file.execute('insert INTO get_约会(约会编号、结束日期时间、位置、开始日期时间)值(?,,?)'、app_编号、app_结束时间、app_loc、app_开始时间);}catch(e){var message e=e.message;console.log('error='+message)}@obaid try catch是一个不错的选择,我认为你做得很对,但是一个小评论要小心
    console.log
    使用
    Ti.API.info
    。我能知道使用console.log的危害吗?只是为了info@obaid我不熟悉您使用的编程语言,但您可以使用“try-catch”来实现操作。它在不同的语言中有不同的语法。在一些语言中它称为try-except。所以只需找到适合您的语言的语法即可。