MySql。这个insert+select+where语句有什么错误?
这句话有什么不对?上次我测试它时,它与sqlite和MS sql一起工作 我想要一个选择,除非没有匹配的名称或电子邮件。然后我想插入。我把它作为一个语句,因为它很容易作为一个语句来保证并发安全。这不是那么复杂的陈述MySql。这个insert+select+where语句有什么错误?,mysql,Mysql,这句话有什么不对?上次我测试它时,它与sqlite和MS sql一起工作 我想要一个选择,除非没有匹配的名称或电子邮件。然后我想插入。我把它作为一个语句,因为它很容易作为一个语句来保证并发安全。这不是那么复杂的陈述 INSERT INTO `user_data` ( `last_login_ip`, `login_date`, ...) SELECT @0, @14 WHERE not exists (SELECT * FROM `user_data` WHERE `name` = @15 O
INSERT INTO `user_data` (
`last_login_ip`, `login_date`,
...) SELECT
@0,
@14 WHERE not exists (SELECT * FROM `user_data` WHERE `name` = @15 OR
`unconfirmed_email` = @16 LIMIT 1);
例外情况
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE not exists (SELECT * FROM `user_data` WHERE `name` = 'thename' OR
`unconfirmed' at line 31
SELECT中没有FROM子句。如果仔细查看,您可以看到,尽管FROM是可选的,但如果有WHERE子句,则FROM是必需的:
SELECT ...
[FROM table_references
[WHERE ...]
...]
如果不需要表格,可以使用FROM DUAL。SELECT中没有FROM子句。如果仔细查看,您可以看到,尽管FROM是可选的,但如果有WHERE子句,则FROM是必需的:
SELECT ...
[FROM table_references
[WHERE ...]
...]
如果你不需要一张桌子,你可以从双人床上使用