我在使用 EXISTS 函数时收到来自 mysql 的错误。我会走 ON DUPLICATE KEY 路线,但“str”字段必须是 TEXT 类型。
这是我的表格:
CREATE TABLE `locale_display_string` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`str` TEXT NOT NULL,
`date` INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
TYPE=MyISAM;
这是我要运行的查询:
INSERT INTO `locale_display_string` (str, date) VALUES ('test', '1368204427')
WHERE NOT EXISTS (SELECT * FROM `locale_display_string` WHERE str='test');
我做错了什么?
最佳答案
VALUES 不兼容...使用SELECT
。
INSERT INTO `locale_display_string` (str, date)
SELECT 'test', '1368204427'
FROM `locale_display_string`
WHERE NOT EXISTS(SELECT TRUE FROM `locale_display_string` WHERE str='test')
LIMIT 1
关于MySQL EXISTS() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16487922/