Ich habe eine Tabelle mit einem Autoinkrement-Primärschlüssel:MySQL in Tabelle einfügen mit Autoinkrement, während aus einer anderen Tabelle Auswahl
create table rt_table
(
rtID int PRIMARY KEY AUTO_INCREMENT,
rt_user_id BIGINT, /*user being retweeted*/
rt_user_name varchar(70), /*user name of rt_user_id*/
source_user_id BIGINT, /*user tweeting rt_user_id*/
source_user_name varchar(70), /*user name of source_user_id*/
tweet_id BIGINT, /*fk to table tweets*/
FOREIGN KEY (tweet_id) references tweets(tweet_id)
);
Ich wünsche von Teilen einer anderen Tabelle, um diese Tabelle zu füllen:
insert into rt_table
select rt_user_id, (select user_name from users u where u.user_id = t.rt_user_id),
source_user_id, (select user_name from users u where u.user_id = t.source_user_id),
tweet_id
from tweets t
where rt_user_id != -1;
Ich bekomme einen Fehler, der sagt, dass die Anzahl der Spalten nicht übereinstimmen, was wegen des Primärschlüssels ist (der ein automatisch inkrementierter Wert ist und daher nicht gesetzt werden muss). Wie komme ich hier zurecht?