我在PHP中有类似的代码:
$con=mysqli_connect("localhost","","","");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Create table
$sql="CREATE TABLE Workers
(
PID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(PID),
Name VARCHAR(30),
)";
// Execute query
if (mysqli_query($con,$sql)) {
echo "Table persons created successfully";
} else {
echo "Error creating table: " . mysqli_error($con);
}
我需要添加以下列:名称,生日,ID代码,有效/无效,联系信息(电子邮件,电话,地址),自我介绍(三种语言),工作经验(三种语言),教育(三种语言),何时以及谁创建,何时以及谁修改。
如何在一列中添加三个不同的东西?
答案 0 :(得分:0)
我假设当你说你不知道如何在一列中添加三个不同的东西时,你正在提到的列是自我介绍的,而其他列则是三种语言。您不应该有一个列以三种语言包含相同的信息。如果需要所有三种语言,我将创建三个列,SelfIntroductionEnglish,SelfIntroductionRussian等...如果任何记录只需要其中一种语言,我建议单独的SelfIntroduction talbe。它将具有主表的外键,存储列的语言的标志列,以及以指定语言保存自引导的第三列。然后你可以很容易地检查一个工人是否有英文介绍,如果有的话就抓住它。
答案 1 :(得分:0)
首先,CREATE TABLE查询中的最后一列不应该有逗号后面的逗号。只有在分隔列名时才这样做。
另外,关于向一列添加内容,这是不现实的。想到sql的好方法就像电子表格的高级版本。在任何给定的单元格中,您不应该拥有多条信息。您需要三列,或者某种方式将信息从一列翻译成另一种语言。
答案 2 :(得分:0)
是这样吗?
// Create table
$sql = "CREATE TABLE workers
(
PID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(PID),
name VARCHAR(30) NOT NULL,
birth_date DATE NOT NULL,
id_code INT NOT NULL,
activity INT NULL
)";
$sql2 = "CREATE TABLE contacts (
FOREIGN KEY(PID),
PRIMARY KEY(PID),
email VARCHAR(30) NULL,
phone INT NULL,
address VARCHAR(30) NOT NULL
)";
$sql3 = "CREATE TABLE personality (
FOREIGN KEY(lang),
PRIMARY KEY(PID,lang),
lang VARCHAR(3) NOT NULL,
selfintroduction VARCHAR(255) NOT NULL,
workexperience VARCHAR(255) NOT NULL,
education VARCHAR(255) NOT NULL
)";
我不知道如何添加和修改这些内容。