Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mysql中如何在运行时插入数据_Mysql_Database - Fatal编程技术网

在mysql中如何在运行时插入数据

在mysql中如何在运行时插入数据,mysql,database,Mysql,Database,我有一个表,它有3列ID,Fname,Lname当我在两列Fname和Lname中插入数据时,ID将自动生成并插入ID列,该ID列是Fname列的前3个字符,然后下划线和Lname的第一个字符“ID可能是双重的” 我用它来治疗癌症 Select Concat(Left(Fname,3),'_',Left(Lname,1)); Fname Lname ID Ashutosh Singh Ash_S 我认为您需要在insert操作上触发,以便它使用您提到的业

我有一个表,它有3列ID,Fname,Lname当我在两列Fname和Lname中插入数据时,ID将自动生成并插入ID列,该ID列是Fname列的前3个字符,然后下划线和Lname的第一个字符“ID可能是双重的” 我用它来治疗癌症

Select Concat(Left(Fname,3),'_',Left(Lname,1));

Fname        Lname     ID
Ashutosh     Singh     Ash_S

我认为您需要在insert操作上触发,以便它使用您提到的业务逻辑填充ID列

create table users(
  id serial,
  my_key varchar(5),
  fname varchar(50),
  lname varchar(50)
);
Fname列的前3个字符,然后是下划线和Lname的第一个字符 不可能是唯一的


我的_键可以通过“插入”触发器来填充-

我以前从未尝试过,但我认为不应该在函数中使用函数。尝试将这些值存储在php中的变量中,我假设您正在使用并回显它们,以查看是否得到了想要的结果。如果没有,,修改它并尝试不同的方法。那么问题是什么?如果要在表中插入,请使用insert语句并将id设置为自动增量和主键。我的问题是,当我在Fname和Lname列中插入数据时,相同id的数据是代表Fname和Lname生成的,id插入id列id可能重复其次是这个。使用真正唯一的整数键作为主键。您不希望使用依赖于其他列的键。你必须解决冲突。。。当名字和姓氏发生变化时重新命名。。。或者让它错位。请记住,要保持此用户密钥对齐,必须同时处理before insert和before update触发器;)