0
私のSQL挿入クエリがうまく動作しません。 私のCourse_Idは、現在、別のテーブルCourseMasterの外部キーです。 CourseMasterのすべての情報が入力されたようです。Python CGIでのMySQLへのプログラミング
Student_Idフォーム入力もまた私に疑問符である。 私はhidIdの隠しフォームタイプを含んでいます。それが正しいかどうかはわかりません。 お願いします。
import mysql.connector
import cgi
import cgitb;cgitb.enable()
import sys
print "Content-Type: text/html\n\n"
#connection of my database
db = mysql.connector.connect(user='root',password = 'root',
host = 'localhost' ,port='8889',database = 'StudentData')
cursor = db.cursor()
form = cgi.FieldStorage()
id=""
first_name = ""
last_name = ""
residential_address = ""
phone_no = ""
Gender = ""
Course_Id = ""
if form.has_key("hidId"):
id=form["hidId"].value
elif form.has_key("id"):
id=form["id"].value
if form.has_key("first_name"):
first_name = form["first_name"].value
print "<p>name</p>"
print first_name
if form.has_key("last_name"):
last_name = form["last_name"].value
print "<p>name</p>"
print last_name
if form.has_key("residential_address"):
residential_address = form["residential_address"].value
print "<p>residential_address</p>"
print residential_address
if form.has_key("phone_no"):
phone_no = form["phone_no"].value
print "<p>phone_no</p>"
print phone_no
if form.has_key("Gender"):
Gender = form["Gender"].value
print "<p>Gender</p>"
print Gender
if form.has_key("Course_Id"):
Course_Id = form["Course_Id"].value
print "<p>Course_Id</p>"
print Course_Id
# Insert Data into Table StudentMaster
cursor.execute('''INSERT INTO StudentMaster
(Student_Id,Student_FirstName,Student_LastName,Course_Id,Gender,Residential_Address,PhoneNo)
VALUES(%s,%s,%s,%s,%s,%s,%s)''',
(id,first_name,last_name,Course_Id,Gender,residential_address,phone_no))
cursor.lastrowid
db.commit()
cursor.close()
db.close()
**これは私のエラーメッセージでした。あなたのIDが全てCourseMaster
で正しく設定されている場合
**<class 'mysql.connector.errors.IntegrityError'>: 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`studentdata`.`studentmaster`, CONSTRAINT `Course_ID Foreign` FOREIGN KEY (`Course_Id`) REFERENCES `CourseMaster` (`Course_Id`))
args = (1452, '1452 (23000): Cannot add or update a child row: ...rse_Id`) REFERENCES `CourseMaster` (`Course_Id`))', u'23000')
errno = 1452
message = ''
msg = u'Cannot add or update a child row: a foreign key ...rse_Id`) REFERENCES `CourseMaster` (`Course_Id`))'
sqlstate = u'23000'****
を実行する前に
ような何かを試してみてくださいありがとうございました。 –
私は役に立ちましたか?もしそうなら、受け入れられた答えとしてマークしてください。 –