我有一个表单字段,其中包含将放在mysql的不同表中的值。
它们都与外键相连。
如何将这些值放到不同的表中。
伪表:
users_table:
userId|userlogin
user_info:
info_id|userId|name|surname
user_contact:
contact_id|userId|phone|email
form includes:
userlogin
name
surname
phone
email
在我的研究中,我发现我可以使用mysql_insert_id
来链接FK,但我想知道如果网站负载很高(同时发送差异请求),是否会导致问题。
我还发现我可以设置触发器来创建新的fk值:
CREATE TRIGGER ins_kimlik AFTER INSERT ON hastalar
for each row
insert into hasta_kimlik set idhasta = new.idhasta
但我不知道如何向他们添加数据。我可以用
UPDATE table SET (name, surname) VALUES ('John', 'Brown') WHERE info_id = LAST_INSERT_ID();
但它感觉不到原生的方式。
最佳做法是什么?
答案 0 :(得分:1)
如果表是通过外键连接的,那么你不应该只从基本表(这里是users_table)开始,然后在user_info表中添加,然后在user_contact表中添加,或者反过来。只要您在其他表中填写了具有fk主键的表,就可以轻松添加。
INSERT INTO table_name(column1,column2,column3,...)VALUES(value1, value2,value3,...)
这就是你问的问题吗?
答案 1 :(得分:1)
我发现我可以使用mysql_insert_id链接FK,但我想知道这是否会导致 如果网站负载很高(同时发送差异请求),则会出现问题。
mysql_insert_id返回当前正在使用的数据库连接生成的最后一个自动增量值。
其他进程在其他连接上执行的操作无关紧要。这很安全。你会得到正确的价值。
但它感觉不到原生的方式。
没了。正确的方法是: