我正在尝试在表中添加一个新的mysql列,使用另一个表的插入中的insert_id。这是我用的句子......
string sqlInsert = "INSERT INTO test (IdPico, Nombre, TextoBienvenida, FechaCreacion) VALUES (1, 'nombretest', 'aslkñdfa lsñdk asjd asldkf añlsj f', '2011-07-13 10:22:53'); ";
sqlInsert += "SET @IDTESTCREATED := CONCAT('Test', LAST_INSERT_ID(); ";
sqlInsert += "ALTER TABLE Usuarios ADD COLUMN @IDTESTCREATED BIT DEFAULT 0; ";
我使用ASP.NET 4.0和MySql连接,服务器响应'命令执行期间遇到的致命错误。 “
有人能帮助我吗?
答案 0 :(得分:1)
嗯......我自己回答。
进行深度搜索后,我还没有找到如何通过mysql中的变量动态添加列。
最后我不得不做两个查询,首先插入测试并获取id,然后再更新users表。
由于id的插入和检索在同一个查询中,因此不存在持久连接和并发更新的问题。
string sqlInsert = "INSERT INTO Test (<fields>) VALUES (<values>);";
sqlInsert += "SELECT LAST_INSERT_ID() AS IdTestInserted; ";
string idnewtest = <result of insert query>;
string sqlAlter = "ALTER TABLE Users ADD COLUMN Test" + idnewtest + " BIT DEFAULT 0; ";
我很遗憾找不到答案,但至少我实现了目标。 谢谢大家的帮助!