我是SQL的新手,我正在尝试执行一个简单的ALTER TABLE来创建一个新列并将其用作外键来引用我数据库中的另一个简单表.我把两个表都改成了InnoDB
但是,在执行ALTER TABLE代码时,我收到以下错误:
Error 1452 Cannot add or update a child row:
a foreign key constraint fails (`toys`.<result 2 when
explaining filename '#sql-6d4_6'>, CONSTRAINT
`#sql-6d4_6_ibfk_1` FOREIGN KEY (`toy_id`) REFERENCES `toys` (`toy_id`))
Run Code Online (Sandbox Code Playgroud)
以下是两个表的DESC:
表格1:
FIELD TYPE NULL KEY EXTRA
toy_id int(11) NO PRI auto_increment
toy varchar(50) YES
Run Code Online (Sandbox Code Playgroud)
表2:
FIELD TYPE NULL KEY EXTRA
boy_id int(11) NO PRI auto_increment
boy varchar(50) YES
Run Code Online (Sandbox Code Playgroud)
这是我试图执行的ALTER查询:
ALTER TABLE boys
ADD COLUMN toy_id INT NOT NULL,
ADD CONSTRAINT toys_toy_id_fk
FOREIGN KEY(toy_id)
REFERENCES toys(toy_id);
Run Code Online (Sandbox Code Playgroud)
我一直在试图弄明白,但没有运气.在此先感谢,请善待这个新手:)
编辑: …
我试图使用嵌套字典中的项目格式化字符串(下面)
people = {
'Alice': {
'phone': '2341',
'addr': '87 Eastlake Court'
},
'Beth': {
'phone': '9102',
'addr': '563 Hartford Drive'
},
'Randy': {
'phone': '4563',
'addr': '93 SW 43rd'
}
}
Run Code Online (Sandbox Code Playgroud)
从上面的(简单)字典中,我想格式化一个字符串以打印出Randy的电话分机.
我可以使用以下方式访问他的所有详细信息:
print("Randy's phone # is %(Randy)s" % people)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何更深入地进入字典,只从字典中挑出电话号码.
顺便说一下,我正在使用Python 3.3.
我们目前正在为我们的手动QA团队构建一个Web界面,以便能够运行Selenium测试,这些测试通过Selenium Grid在远程计算机上执行.
我正在寻找一些方法来远程检查Selenium Grid 当前是否正在执行任何测试,这样我就可以将从Web界面发送到Grid的任何其他运行排队,直到上一次测试执行完成.这将确保我们避免过多的同时测试运行导致网格过载.
我已经搜索了StackOverflow并阅读了Selenium文档,看看是否有任何命令可以用来检查这个,但是空了.