Mysql 如何在一个表中检查记录并在另一个表中插入?
我尝试在MySQL中创建此过程,它应该:Mysql 如何在一个表中检查记录并在另一个表中插入?,mysql,if-statement,stored-procedures,mysql-workbench,Mysql,If Statement,Stored Procedures,Mysql Workbench,我尝试在MySQL中创建此过程,它应该: 检查customer\u details表中的customerID是否匹配,以及 如果为true,则应在表customer_checkin中添加customer_id 但我在最后一行得到一个错误:值(customer_id);上面说: 错误代码:1064。您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第4行“”附近要使用的正确语法 将鼠标悬停在代码错误上表示:语句不完整,应为“;” (客户id)最后一行的括号带下划线 如何解决这
- 检查customer\u details表中的customerID是否匹配,以及
- 如果为true,则应在表customer_checkin中添加customer_id
(客户id)
最后一行的括号带下划线
如何解决这个问题?试试这个。你失去了一个终点,如果 我会将if子句改写为
但是,Oiliver只适用于插入if子句是不必要的试试这个。你失去了一个终点,如果 我会将if子句改写为
但是Oiliver只对插入if子句是正确的我不太理解select
BEGIN
和noEND的意义代码>可能。插入客户登记(customerID)从客户详细信息中选择客户id,其中c.customerID=客户id限制1代码>将在更短的时间内完成此工作way@OlivierDepriester对不起,开始不应该是there@OlivierDepriester成功了!!谢谢!:)我真的不明白选择开始
和否结束的意义代码>可能。插入客户登记(customerID)从客户详细信息中选择客户id,其中c.customerID=客户id限制1代码>将在更短的时间内完成此工作way@OlivierDepriester对不起,开始不应该是there@OlivierDepriester成功了!!谢谢!:)当我尝试使用begin end时,end if
和end
出现错误。是因为我使用的是MySQL工作台吗?是的,我同意Olivier的建议。谢谢你的回答,@nbk!所以我又试了一次,现在可以用了,但我不得不更改代码中的分隔符。然后,请注意,当我尝试使用begin end时,end if
和end
出现了错误。是因为我使用的是MySQL工作台吗?是的,我同意Olivier的建议。谢谢你的回答,@nbk!所以我又试了一次,现在可以用了,但是我不得不更改代码中的分隔符。那么请
create procedure checkin_customerid(in customer_id int)
if (select c.customerID from customer_detail c
where customer_id = c.customerID)
then
insert into customer_checkin (customerID)
values (customer_id);
CREATE PROCEDURE checkin_customerid(in customer_id int)
BEGIN
if (EXISTS(select c.customerID from customer_detail c
where customer_id = c.customerID))
then
insert into customer_checkin (customerID)
values (customer_id);
END IF;
END