我有一个制表符分隔的文本文件,第一行是标签标题,也是制表符分隔的,例如:
Name ID Money
Tom 239482 $2093984
Barry 293984 $92938
唯一的问题是有 30 列而不是 3 列,所以如果可以避免的话,我宁愿不必键入所有的 (name VARCHAR(50),...)。
我将如何编写一个函数,从文本文件中用 php 从头开始创建表,并说该函数接受 $file_path 和 $table_name ?我是否必须再次编写所有列名称,告诉 mysql 它们是什么类型并砍掉顶部,或者当名称已经存在时是否有更优雅的解决方案?
最佳答案
您可能需要将列类型映射到文件中的列。您可以通过将该数据添加到文本文件中来完成此操作。例如
Name|varchar(32) ID|int(8) Money|int(10)
Tom 239482 $2093984
Barry 293984 $92938
或者类似的东西。然后编写一个函数,使用第一行获取列名称和列类型,并使用所有其他行编写数据来填充表。您可能还想添加一种方法来命名给定的表等。但是,这可能与使用文本文件创建SQL 查询一样多(如果不是更多的话)。在顶部添加创建表语句,并为每行添加插入语句。通过搜索和替换,这可以非常快地完成。
关于php - 从带有第一行标签的制表符分隔文本文件创建数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6359615/