插入后外键未完成列(PHP)
我有两张桌子。第一个是id_user,它是主键、用户名、名称、密码,第二个是id_后主键、post、username、view和引用id_user的idforeign键。 使用查询后:插入后外键未完成列(PHP),php,mysql,Php,Mysql,我有两张桌子。第一个是id_user,它是主键、用户名、名称、密码,第二个是id_后主键、post、username、view和引用id_user的idforeign键。 使用查询后: $query ="INSERT INTO posts (username,post,view) VALUES ('$username','$postare','$isprivate')"; 它以NULL完成我的列id。我希望在id列中有进行查询的用户的id\u user。不为NULL。您需要查找该值以在数据中获
$query ="INSERT INTO posts (username,post,view) VALUES ('$username','$postare','$isprivate')";
它以NULL完成我的列id。我希望在id列中有进行查询的用户的id\u user。不为NULL。您需要查找该值以在数据中获得该值。因此,使用您的构造,查询将如下所示:
insert into posts (userid, post, view)
select u.userid, $postare, $isprivate
from users u
where u.username = '$username';
注:
不要在posts表中同时存储userid和username。仅将用户名存储在用户表中,并在需要时使用userid获取用户名。
不要通过直接在查询字符串中输入值来咀嚼它。学习使用参数化查询。
视图对于列来说是一个非常糟糕的名称,因为它是一个SQL关键字。