首先是用户名/密码验证步骤,然后数据库具有以下结构
^ is primary key
* uses foreign key
1.StudentDetails table
===========================================================================
ID^| Username | Password | Email | Address * | Website |Comments
====+============+==========+=============+===========+=========+==========
1 | xxxxxxxxxx | xxxxxxx | xx@xxx.xxx | 1 | http:// | text
2.Submissions table
===========================================================================================
ID^|Username*|SubmitDate|SelectedCourse*|Price*|Promotion*|SubmitComments|SubmitStatus*
===+=========+==========+===============+======+==========+==============+=================
1 |xxxxxxxxx|2013-7-12 | int | int | int | text | int
3.SubmitComplete table
==================================================
ID^| Username * | SelectionDate | SubmitStatus *
====+============+===============+================
1 | xxxxxxxxxx | 2013-08-01 | int
现在我在输入地址时遇到问题,当我尝试输入学生详细信息时,在有地址字段之前它不会接受,如何最好地解决这个问题? 当我从左边连接中选择StudentDetails中的某些字段和地址中的某些字段时,地址不会显示。
我是一个mysql noob,所以我想要一些指导,看看规范化和结构是否已经正确完成,还是可以做得更好,这里是fiddle我无法让它工作正确地,在我添加外键的行上不断出错,即使架构的构建在我的机器上运行良好。
小提琴控制台在第2行说错误,但在我看来它实际上在第76行。 如果有任何我不清楚的事情,请告诉我。 感谢
答案 0 :(得分:2)
好的,让我解释一下它会是怎样的。我用两个表格做了一个例子,你可以在下面看到。
然后您可以创建查询。
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| addresses |
| students |
+----------------+
2 rows in set (0.00 sec)
mysql> select * from students;
+----+----------+-----------+
| id | name | last_name |
+----+----------+-----------+
| 1 | jhon | smith |
| 2 | anderson | neo |
| 3 | trinity | jackson |
+----+----------+-----------+
3 rows in set (0.00 sec)
mysql> select * from addresses;
+----+-----------------+---------+
| id | address | student |
+----+-----------------+---------+
| 1 | Av 1 2nd Street | 1 |
| 2 | Av 3 4 Street | 2 |
| 3 | St 23 7 Av | 3 |
+----+-----------------+---------+
3 rows in set (0.00 sec)
mysql> select s.name,s.last_name,a.address from students s join addresses a on a.student=s.id;
+----------+-----------+-----------------+
| name | last_name | address |
+----------+-----------+-----------------+
| jhon | smith | Av 1 2nd Street |
| anderson | neo | Av 3 4 Street |
| trinity | jackson | St 23 7 Av |
+----------+-----------+-----------------+
3 rows in set (0.00 sec)
答案 1 :(得分:0)
选项1:
首先输入地址数据,并在StudentDetails中创建行时使用该ID
选项2:
更改字段StudentDetails.Address,使其允许NULL valus,输入StudentDetails,然后输入地址,然后更新StudentDetails.Address
答案 2 :(得分:0)
最好使用数字格式的外键所以Username应该是StudentDetails表的id。
您可以放置您尝试运行的SQL查询吗?