作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试运行替换到数据库调用,但我只希望它在提供的 printerid# 大于数据库存储的 printerid# 时执行。
这是我的示例代码,希望能理解这一点
unitid = 2382;
printerid = 9826;
REPLACE INTO devices (unitid, printerid)
VALUES ('"+ unitid +"', '"+ printerid +"')
WHILE '"+printerid+"' > devices.printerid
例如,如果设备数据库已经有一个 unitid 2382 的条目,它的打印机 ID 为 9999,那么 SQL 调用应该什么都不做,但是如果它有一个打印机 ID 8888,它将用我的新打印机 ID 为 9826。
上面列出的 SQL 代码显然不起作用。 :(
谢谢!
最佳答案
你也可以使用 INSERT INTO ... ON DUPLICATE KEY
假设你在 unitid
上有一个主键/唯一键:
INSERT INTO devices (unitid, printerid)
VALUES ('"+ unitid +"', '"+ printerid +"')
ON DUPLICATE KEY UPDATE devices
SET unitid = '"+ unitid +"', printerid = '"+ printerid +"'
WHERE unitid = '"+ unitid +"' AND printerid < '"+ printerid +"'
关于mysql - SQL: REPLACE INTO 语句可以结合大小写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9758225/
我是一名优秀的程序员,十分优秀!