尝试执行简单的insert into语句,但出现外键关系错误。
insert into orders (userId, orderDate, shippingDate)
values('xyz123', now(), now());
我收到的错误是“无法添加或更新子行:外键约束失败('example_1010。
命令,约束
orders_ibfk1外键(
用户 ID) 引用用户(
用户 ID')
)”
我想我需要使用一个“in子句”来绕过约束,但我不认为我使用它是正确的。
insert into orders (userId, orderDate, shippingDate)
values('xyz123', now(), now())
in (select userId from users);
只需禁用外键
SET FOREIGN_KEY_CHECKS=0;
你不需要添加任何其他东西。你的查询很完美
insert into orders (userId, orderDate, shippingDate)
values('xyz123', now(), now());
之后再次启用外键
SET FOREIGN_KEY_CHECKS=1;
您应该在您的父表(用户)中添加该user_id,如@德鲁所建议的
通过 SQL,您可以从一个表复制信息到另一个表。 SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。 SQL SELECT INTO 语句 SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。 MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT 。 当然你可以使用以下语句来拷贝表结构
INSERT INTO 语句用于向表中插入新记录。 SQL INSERT INTO 语句 INSERT INTO 语句用于向表中插入新记录。 SQL INSERT INTO 语法 INSERT INTO 语句可以有两种编写形式。 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:INSERT INTO table_name VALUES (NULL,value2,value3,...);
鉴于: 我想尝试,并重试,连接到服务器3次才放弃。 我可以把整个try/catch放在一个循环中,但是这是否符合Java的“最佳实践”。从我对该主题的回忆来看,这将是对语句的误用。再说一次,我可能完全错了。你怎么认为?
我不知道为什么try-catch语句不起作用: 这是代码,我只是想做InputMismatchException,以防有人输入无效的东西,如283479234729472983472984723或字符串等。 但是当我运行它时,我输入了这样的内容,它不让我用扫描仪再试一次,它只是跳到: 它没有给我进入另一个。
通过 SQL,您可以从一个表复制信息到另一个表。 INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。 SQL INSERT INTO SELECT 语句 INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。 SQL INSERT INTO SELECT 语法 我们可以从一个表中
下面的Java不工作,因为它缺少一个return语句。我搞不懂怎么了。有什么想法吗? 即使我去掉字符串u,它也会给出相同的错误,如果我添加int usernameLimit,它也会给出相同的错误。