使用INSERT INTO&同时更新 - JAVA SQL

时间:2014-03-26 00:35:43

标签: java mysql sql jdbc insert-update

我有一个问题。

所以我有一个添加功能,用户可以在这里添加汽车到数据库。如何在添加汽车时进行检查,以便在汽车存在的情况下 - 数据被覆盖,而不是出现“重复错误”等错误消息?

所以我有......

INSERT INTO Cars VALUES (1, "AUDI R8", 10);

如何在用户输入(1,“BMW X5,15)时,它会覆盖当前数据?

我如何同时拥有INSERT INTO和UPDATE STATEMENT?另外我如何在这里使用交易?

非常感谢

3 个答案:

答案 0 :(得分:0)

对于这种情况,MySQL有一个REPLACE语句:

  

REPLACEINSERT完全相同,只是如果表中的旧行与PRIMARY KEYUNIQUE索引的新行具有相同的值,在插入新行之前删除旧行

[...]

REPLACE是SQL标准的MySQL扩展。它可以插入,删除和插入。

检查reference for the REPLACE statement

答案 1 :(得分:0)

嗯,这个问题的最佳解决方案是 TRIGGERS 。 触发器允许您将应用程序层与数据库分开。 在您的情况下,您需要启动一个错误,因此这是一个名为“被动”的触发器,只有在违反条件时才会自动响应。 看看这个:https://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html或各种相关文档。

答案 2 :(得分:0)

也许不是最好的解决方案,但是你可以先做一个SELECT,然后做一个UPDATE或简单的INSERT,取决于案例。