繁体   English   中英

同时使用INSERT INTO和UPDATE-JAVA SQL

[英]Using INSERT INTO & UPDATE at the same time - JAVA SQL

我有个问题。

因此,我具有添加功能,用户可以在其中将汽车添加到数据库中。 如何在添加汽车时进行检查,以确保汽车确实存在-数据将被覆盖,而不是出现“重复错误”之类的错误消息?

所以我有...

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

我该如何做,以便如果用户输入(1,“ BMW X5,15),它会覆盖当前数据?

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

非常感谢

MySQL在这种情况下有一个REPLACE语句:

REPLACE工作方式与INSERT完全相同,不同之处在于,如果表中的旧行与PRIMARY KEYUNIQUE索引的新行具有相同的值,则在插入新行之前删除该旧行

[...]

REPLACE是MySQL对SQL标准的扩展。 它要么插入,要么删除并插入。

检查REPLACE语句引用

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

也许不是最好的解决方案,但是您可以先执行SELECT,然后再执行UPDATE或简单地INSERT,具体取决于情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM